##DCL学习
DCL:管理用户,授权
1.管理用户
(1).添加用户
*语法:
create user '用户名'@'主机名' IDENTIFIED by '密码';
(2).删除用户
*语法:
DROP user '用户名'@'主机名';
(3).修改用户
*语法:
Ⅰ.
UPDATE user SET password = PASSWORD('新密码') where user= '用户名';
UPDATE user SET password = PASSWORD('root') where user = 'zhangsan';
Ⅱ.
Set password for ‘用户名’@’主机名’ = password(‘新密码’);
*mysql 中忘记了root用户密码
①.cmd -- > net stop mysql 停止mysql服务
需要管理员运行该cmd
②.使用无验证启动mysql服务:mysqld -- skip-grant-tables
③.打开新的cmd窗口,直接输入mysql命令,敲回车就可以登录成功
④.User mysql;
⑤.Update user set password = password(‘你的新密码’ )where user =’root’;
⑥.关闭两个窗口
⑦.打开任务管理器,手动结束mysqld.exe 的进程
⑧.启动mysql服务
⑨.使用新密码的登录
(4).查询用户
*-- 切换到数据库
USE mysql;
-- .查询user表
select * from `user`;
* 通配符:% 表示可以在任意主机使用用户登录数据库
2.权限管理:
Ⅰ.查询权限
-- 查询权限
show grants for '用户名'@'主机名';
show grants for 'zhangsan'@'localhost';
show grants for 'root'@'localhost';
Ⅱ.授予权限
*语法:
Grant 权限列表 on 数据库名.表名 to ‘用户名’@’主机名’;
Grant select,update,delect on db1.account to ‘zhangsan’@’localhost’;
-- 给张三用户授予所有权限,在任意数据库任意表上
Grant all on *-* to ‘zhangsan’@’localhost’;
Ⅲ.撤销权限
*语法:
Revoke 权限列表 on 数据库名.表名 from ‘用户名’@’主机名’;