一. MySQL简介与安装
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。
MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。
MySQL下载与安装
MySQL下载
http://dev.mysql.com/downloads/mysql/
二. MySQL安装
Windows:
点击:Windows系统下安装MySQL详细教程(命令安装法)
https://www.cnblogs.com/mashangsir/p/11286322.html
Linux:
yum install mysql-server
Mac:
.......很少用Mac pc 所以这里不做介绍
三. 数据库操作前提(再终端例如:CMD):
3.1 启动MySQL数据库服务端:net start mysql
3.2 登录客户端:以root方式登录:mysql -u root -p
退出MySQL客户端:quit
关闭MySQL服务: net stop mysql
四. 数据库操作
4.1 显示当前MySQL中包含的所有数据库
展示数据库:show databases
安装MySQL之后有三个默认数据库:
mysql -- 用户权限相关数据
test -- 用于用户测试数据
information_schema -- MySQL本身架构相关数据
4.2 创建数据库
utf编码语法:
create database 数据库名 default charset=utf8 collate utf8_general_ci;
gbk编码语法:
create database 数据库名 default character set gbk collate gbk_chinese_ci;
“default charset=utf8”的意思是:谁数据库的默认编码为utf8,这个保证未来的数据库数据有统一的编码
collate utf8_general_ci:大小写不敏感。case insensitive的缩写,意思是大小写不敏感
utf8_bin:区分大小写;
utf8_general_cs:大小写敏感;case insensitive的缩写
4.3 用户管理
(创建用户、修改用户、修改密码、删除用户)
创建用户
create user \'用户名\'@‘IP地址\' identified by \'密码\';
例如:
create user \'admin1\'@\'250.250.250.250\' identified by \'sb123456\';
create user \'admin2\'@\'250.250.1.1\' identified by \'123456\'; // 创建用户admin2,密码为123456,只能在250.250.1.1主机上登录
create user \'admin2\'@\'250.250.1.%\' identified by \'123456\'; // 创建用户admin2,密码为123456,可以在250.250.1.1~192.168.1.255主机上登录
create user \'admin2\'@\'%\' identified by \'123456\'; // 创建用户admin2,密码为123456,可以在所有主机上登录
格式:create user用户名@哪个客户端可以用(ip表示,localhost[本地地址]) identified by 密码;
修改用户名
rename user \'用户名\'@\'IP地址\'to \'新用户\'@\'IP地址\';
有蛮多博客错误写成: rename user \'用户名\'@\'ip地址\';to \'新用户名\'@\'ip地址\';;这个是错误的啊!!!!!
修改密码
set password for \'用户名\'@\'IP地址\' = Password(\'新密码\');
删除用户
drop user \'用户名\'@\'IP地址\';
4.4 数据库授权管理
4.4.1 显示某个用户的权限
show grants for \'用户名\'@\'IP地址\'; //查看权限
4.4.2 给某个用户授权
grant 权限1,权限2…… on 数据库.表 to \'用户名\'@\'IP地址\';
4.4.3 取消用户权限
revoke 权限1,权限2…… on 数据库.表 from \'用户名\'@\'IP地址\';
用户授权示例:
grant select,insert,update on db1.t1 to \'admin2\'@\'%\'; //admin2用户只对db1数据库中的t1表有(select,insert,update)权限
grant all privileges on db1.t1 to \'admin2\'@\'%\'; //admin2用户只对db1数据库中的t1表有所有(all privileges)权限,但不能超过root的几个管理权限
revoke all privileges on db1.t1 from \'admin2\'@\'%\';
格式:grant 权限…… on 数据库对象(db1.*号表示db1下的所有表授权) to 使用该权限的用户;
all privileges 除grant外的所有权限 select 仅查权限 select,insert 查和插入权限 ... usage 无访问权限 alter 使用alter table alter routine 使用alter procedure和drop procedure create 使用create table create routine 使用create procedure create temporary tables 使用create temporary tables create user 使用create user、drop user、rename user和revoke all privileges create view 使用create view delete 使用delete drop 使用drop table execute 使用call和存储过程 file 使用select into outfile 和 load data infile grant option 使用grant 和 revoke index 使用index insert 使用insert lock tables 使用lock table process 使用show full processlist select 使用select show databases 使用show databases show view 使用show view update 使用update reload 使用flush shutdown 使用mysqladmin shutdown(关闭MySQL) super