【MySQL】:利用DCL管理用户和控制权限

DCL(Data Control Language):数据控制语言,用来定义数据库的访问权限和安全级别,及创建用户。

一、管理用户

1、创建用户

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

CREATE USER 'Summerday'@'localhost' IDENTIFIED BY '123456';

ps:如果出现了[The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement]的错误,可以先执行FLUSH PRIVILEGES;语句。

2、修改用户

-- 修改密码
SET PASSWORD FOR '用户名'@'主机名' = PASSWORD('新密码');

SET PASSWORD FOR 'Summerday'@'localhost' = PASSWORD('hyh123');

3、查询用户

-- 1. 切换到mysql数据库
USE mysql;
-- 2. 查询user表
SELECT * FROM USER;

%通配符匹配所有。

4、删除用户

-- 删除用户
DROP USER '用户名'@'主机名';

DROP USER 'Summerday'@'localhost';

二、权限管理

1、查询权限

-- 查询权限
SHOW GRANTS FOR '用户名'@'主机名';

SHOW GRANTS FOR 'Summerday'@'localhost';

2、授予权限

-- 授予权限
GRANT 权限列表 ON 数据库名.表名 TO '用户名'@'主机名';

GRANT SELECT ON mydb2.account TO 'Summerday'@'localhost';

-- 授予所有权限
GRANT ALL ON *.* TO 'Summerday'@'localhost';

3、撤销权限

-- 撤销权限
REVOKE 权限列表 ON 数据库名.表名 FROM '用户名'@'主机名';

REVOKE SELECT ON mydb2.account TO 'Summerday'@'localhost';

-- 撤销所有权限
REVOKE ALL ON *.* FROM 'Summerday'@'localhost';

相关文章

在正式开始之前,我们先来看下 MySQL 服务器的配置和版本号信...
> [合辑地址:MySQL全面瓦解](https://www.cnblogs.c...
物理服务机的CPU、内存、存储设备、连接数等资源有限,某个时...
1 回顾 上一节我们详细讲解了如何对数据库进行分区操作,包括...
navicat查看某个表的所有字段的详细信息 navicat设计表只能一...
文章浏览阅读4.3k次。转载请把头部出处链接和尾部二维码一起...