MySQL权限管理

一、用户信息查看

1)查看当前登录的用户
mysql>: select user();

2)root权限下可以查看所有用户信息
mysql>: select * from mysql.user;
mysql>: select * from mysql.user \G
mysql>: select user,password,host from mysql.user;

3)root登录下,删除游客(操作后要重启mysql服务)
mysql>: delete from mysql.user where user='';

4)root登录下,修改密码(操作后要重启mysql服务)
mysql>: update mysql.user set password=password('12345678') where host='localhost';

5)没有登录,修改密码(操作后要重启mysql服务)
>: mysqladmin -u用户名 -p旧密码 -h域名 password "新密码"
eg>: mysqladmin -uroot -p12345678 -hlocalhost password "root"
eg>: mysqladmin -uroot -p12345678 -hlocalhost password root
注:上面格式必须是这样不能空,password后面不能是单引号,只能是双引号,或者不加引号

二、用户权限操作:重点

# 1) root登录下,创建用户并为特定的数据库分配操作权限
mysql>: grant 权限们 on 数据库.表 to 用户名@"主机名" identified by "密码";

1. all: 所有权限
2. select,delete,update,insert,drop,alter: 指定的权限
3. 数据库名.*: 数据库下所有表
4. 用户名@'localhost': 本机可以通过该用户名登入
5. identified by '密码':密码为123

# 创建用户并分配School数据库中的所有操作权限,密码位123
eg>: grant all on School.* to xc@'localhost' identified by '123';
# 创建用户并分配School数据库中的指定操作权限,密码位123
eg>: grant select,delete,update,insert,drop,alter on School.* to xc@'%' identified by '123';

# 2)撤销权限
mysql>: revoke 权限1,权限2,... on 数据库名.表名 from 用户名@'主机名';
# 禁掉本地xc用户对School数据库的所有表的drop权限
eg:> revoke drop on School.* from xc@'localhost';

# 3)删除用户
drop user 用户名@'主机名';
posted @ 2019-09-26 00:26  正在学习的Barry  阅读(270)  评论(0编辑  收藏  举报
-->