查看用户
mysql>SELECT user, host FROM mysql.user; # 检索mysql数据库中的user表 % 表示所有主机的IP
查看当前用户
mysql> select user();
新建用户
新建的用户没有任何权限。用户名和IP是在一起的,登录的时候不仅要检查用户名,也要检查该用户名的IP,只有用户名和IP都符合才会登录成功
mysql>CREATE user 'leon'@'localhost' IDENTIFIED BY 'password'; #本地机器上的leon可以登录 mysql>CREATE user 'leon'@'192.168.100.134' IDENTIFIED BY 'password'; #来自192.168.100.134机器上的leon可以登录 mysql>CREATE user 'leon'@'%' IDENTIFIED BY 'password'; # 来自所有机器上的leon用户都可以登录
删除用户
mysql> drop user 'username'@'host'; # 省略host,默认为'%' 即所有主机
修改用户名
mysql> RENAME USER '用户名'@'IP地址' TO '新用户名'@'IP地址';
修改用户密码
mysql> ALTER USER '用户名'@'IP地址' IDENTIFIED BY '新密码'; /* 用户权限相关数据保存在 mysql 数据库的 user 表中,但最好不要对齐直接进行操作 */
查看用户权限
mysql> show grants; # 查看当前用户的权限 mysql> show grants for 'username'@'host'; # 查看特定用户的权限 # USAGE等同于"no privileges"
给用户赋权限
mysql> grant 权限 on 数据库名.表名 to 'username'@'host'; mysql> grant ALL on dbname.* to 'leon'@'%'; # 'leon'@'%'对数据库dbname中的所有表有所有的权限
收回用户的权限
mysql> revoke 权限 on 数据库名.表名 from 'username'@'host'; mysql> revoke INSERT on dbname.* from 'leon'@'%';