MySQL数据库(七)—— 用户管理和权限管理
一、管理用户
1.查询用户
第一步:切换到MySQL数据库
use mysql;
第二步:查询user表
select * from user;
两条记录都是root用户 ,其中第一条记录表示本机访问,第二条记录是远程访问。
注意:通配符%表示可以在任意主机登录查询数据库
2.新增用户
语法:create user ‘用户名‘@‘主机名‘ identified by ‘密码‘;
3.删除用户
语法:drop user ‘用户名‘@‘主机名‘
4.修改用户密码
语法:update user set password = password(‘新密码‘) where user = ‘用户名‘
语法:set password for ‘用户名‘@‘主机名‘ = password(‘主机名‘)
MySQL中忘记root用户密码
(1) cmd 右键以管理员身份运行
(2) net stop mysql -- 停止MySQL服务
(3) 使用无验证方式启动MySQL服务:mysqld --skip-grant-tables
(4) 再打开一个新的窗口,输入MySQL即可进入
(5) 修改密码的SQL语句
use mysql;
update user set password = password(‘新密码‘) where user = ‘root‘;
(6) 关掉所有cmd窗口,在窗口下面,打开任务管理器。
(7) 在进程栏,手动结束mysqld.exe进程
(8)启动MySQL服务
cmd右键以管理员身份运行
net start mysql
(9)使用MySQL用户名和密码登录 mysql -uroot -proot登录
二、权限管理
1. 查询权限
语法:show grants for ‘用户名‘@‘主机名‘;
usage 表示只有登录权限。
root用户有所有权限。
2. 授予权限
语法:grant 权限列表 on 数据库名.表名 to ‘用户名‘@‘主机名‘;
以上赋予权限是细粒度的。
如果给所有用户赋予权限,在所有数据库所有表上,使用通配符:grant all on *.* to ‘用户名‘@‘主机名‘;
3. 撤销权限
语法::grant 权限列表 on 数据库名.表名 from ‘用户名‘@‘主机名‘;