DCL-管理用户-增删查,修改密码,管理权限
DCL-管理用户-增删查
SQL分类:
1.DDL:操作数据库和表
2.DML:增删改表中数据
3.DQL:查询表中数据
4.DCL:管理用户,授权
通配符:%表示可以在任意主机使用用户登录数据库
DBA:数据库管理员
DCL:管理用户,授权
1、管理用户
1、添加用户
CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码';
use mysql; SELECT * FROM USER; CREATE USER 'zhangsan'@'localhost' IDENTIFIED BY '123'; CREATE USER 'lisi'@'%' IDENTIFIED BY '123';
2、删除用户
DROP USER '用户名'@'主机名';
DROP USER 'zhangsan'@'localhost';
DCL-管理用户-修改密码
UPDATE USER SET PASSWORD = PASSWORD('新密码') WHERE USER = '用户名'; ALTER USER '用户名'@'主机名' IDENTIFIED BY '新密码'; SET PASSWORD FOR '用户名'@'主机名' = PASSWORD('新密码');
UPDATE USER SET PASSWORD = PASSWORD('456') WHERE USER = 'lisi'; ALTER USER 'lisi'@'%' IDENTIFIED BY '456'; SET PASSWORD FOR 'lisi'@'%' = PASSWORD('789');
mysql中忘记了root用户的密码怎么办
1.cmd -->net stop mysql 停止mysql服务
需要管理员运行该cmd
2.使用无验证方式启动mysql服务:mysqld --skip-grant-tables
3.打开新的cmd窗口,直接输入mysql命令,敲回车。就可以登录成功
4.use mysql;
5.update user set password = password(‘你的新密码’)
where user = ‘root’;
6.关闭两个窗口
7.打开任务管理器,手动结束mysqld.exe进程
8.启动mysql服务,net start mysql
9.使用新密码登录
4、查询用户
use mysql; SELECT * FROM USER;
DCL-管理用户-管理权限
权限管理:
1、查询权限
-- 查询权限 SHOW GRANTS FOR '用户名'@'主机名'; SHOW GRANTS FOR 'lisi'@'%';
2、授予权限
-- 授予权限 GRANT 权限列表 ON 数据库名.表名 TO '用户名'@'主机名';
GRANT SELECT ON db1.account TO 'lisi'@'%'; GRANT SELECT,DELETE,UPDATE ON db1.account TO 'lisi'@'%'; -- 给张三用户设置所有权限 GRANT ALL ON *.* TO 'zhangsan'@'localhost';
3、撤销权限
-- 撤销权限 REVOKE 权限列表 ON 数据库名.表名 FROM '用户名'@'主机名';
-- 撤销权限 REVOKE 权限列表 ON 数据库名.表名 FROM '用户名'@'主机名'; REVOKE UPDATE ON db1.account FROM 'lisi'@'%';