MySQL~DCL

三、DCL

1、SQL分类

  1. DDL:操作数据库和表

  2. DML:增删改表中数据

  3. DQL:查询表中数据

  4. DCL:管理用户,授权

DBA:数据库管理员

DCL:管理用户,授权

2、管理用户

2.1 添加用户

语法:

CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码';

2.2 删除用户

语法:

DROP USER '用户名'@'主机名';

2.3 修改用户

UPDATE USER SET PASSWORD = PASSWORD('新密码') 
WHERE USER = '用户名';
UPDATE USER SET PASSWORD = PASSWORD('abc') 
WHERE USER = 'lisi';
SET PASSWORD FOR '用户名'@'主机名' = PASSWORD('新密码');
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123');

2.4 查询用户

-- 1. 切换到mysql数据库

use mysql;

-- 2. 查询user表

SELECT * FROM USER;

mysql中忘记root用户的密码?

  1. cmd -- > net stop mysql 停止mysql服务

需要管理员运行该cmd

  1. 使用无验证方式启动mysql服务: mysqld --skip-grant-tables

  2. 打开新的cmd窗口,直接输入mysql命令,敲回车。就可以登录成功

  3. use mysql;

  4. update user set password = password('你的新密码') where user = 'root';

  5. 关闭两个窗口

  6. 打开任务管理器,手动结束mysqld.exe 的进程

  7. 启动mysql服务

  8. 使用新密码登录。

通配符: % 表示可以在任意主机使用用户登录数据库

3、权限管理

3.1 查询权限

-- 查询权限

SHOW GRANTS FOR '用户名'@'主机名';
SHOW GRANTS FOR 'lisi'@'%';

3.2 授予权限

-- 授予权限

grant 权限列表 on 数据库名.表名 to '用户名'@'主机名';

-- 给张三用户授予所有权限,在任意数据库任意表上

GRANT ALL ON *.* TO 'zhangsan'@'localhost';

3.3 撤销权限

-- 撤销权限:

revoke 权限列表 on 数据库名.表名 from '用户名'@'主机名';
REVOKE UPDATE ON db3.`account` FROM 'lisi'@'%';

你可能感兴趣的:(mysql数据库,mysql,数据库,java,Linux面试,DCL)