1.使用root登录 mysql -h 127.0.0.1 -u root -p

2.创建新数据库 create database mydb;

删除数据库 drop database [database name];

3.查看所有数据库 show databases;

4.创建用户 create user test@’%’;

注: %表示所有地址;@后面可以接具体ip地址 ,如@‘192.168.0.3’、@‘localhost’

创建用户的同时可以设置密码 CREATE USER ‘username’@’%’ IDENTIFIED BY ‘password’;

5.修改用户名的密码

:mysql5.7之前,使用update mysql.user set password=password(‘123456′) where user=’test’;

mysql5.7之后,使用update mysql.user set authentication_string=password(‘123456′) where user=’test’;

6.授权grant all privileges on mydb.* to ‘test’@’%’ with grant option;

表示授予test访问数据库mydb的权限,启用test用户可以登录任何机器;

注:若想让用户test看到其它数据库,可以继续执行上面的命令,只需更改数据库名

grant all privileges on mydb.* to ‘test’@’192.168.3.100’ with grant option;

代表允许从用户test从192.168.3.100机器连接mysql的mydb数据库

grant all privileges on *.* to ‘用户名’@’主机名’ identified by “密码” with grant option;

注:with grant option 这个选项表示该用户可以将自己拥有的权限授权给别人

*.* 中前面的*号用来指定数据库名,后面的*号用来指定表名。
to 表示将权限赋予某个用户。

identified by 指定用户的登录密码。

例如:我要创建一个test10用户,它的密码也是test10,他只能访问db10数据库,操作如下:

CREATE USER test10@'%';GRANT ALL PRIVILEGES ON db10.* TO 'test10'@'%' IDENTIFIED BY "test10" WITH GRANT OPTION;FLUSH PRIVILEGES;

再如,我想让test10用户只能查看db10数据库,操作如下

CREATE USER test10@'%';GRANT SELECT ON db10.* TO 'test10'@'%' IDENTIFIED BY "test10" WITH GRANT OPTION;FLUSH PRIVILEGES;

7.授权后刷新系统权限表 flushprivileges;

8.查看当前用户的权限 show grants;

8.1查看某个用户权限 show grants for ‘username’@’%’;

9.使用数据库use mydb;

10.查询sql select * from t1;