DCL(Data Control Language,数据控制语言)是 SQL 语言的一部分,用于管理数据库的安全性和访问权限。DCL 主要用于创建数据库用户、授予或撤销用户的访问权限等操作。
用户管理
查询用户
USE mysql; --先进入到mysql数据库中
SELECT *FROM user; --查询用户表的所有数据
创建用户
主机名可以通配符'%'表示所有主机,通常使用localhost
或 127.0.0.1
(本地环回地址)作为本地主机名
CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码';
修改用户密码
USER '用户名'@'主机名' IDENTIFIED WITH mysql_native_password BY '新密码';
重命名用户
RENAME USER 'old_user' TO 'new_user';
删除用户
DROP USER '用户名'@'主机名';
权限控制
MySQL常用权限
权限 | 说明 |
ALL,ALL PRIVILEGES | 所有权限 |
SELECT | 查询数据 |
INSERT | 插入数据 |
UPDATE | 修改数据 |
DELETE | 删除数据 |
ALTER | 修改表 |
DROP | 删除数据库/表/视图 |
CREATE | 创建数据库/表 |
查询权限
SHOW GRANTS FOR '用户名'@'主机名';
授予权限
--权限列表中,各个权限用‘,’分隔 数据库名和表名可以使用‘*’表示所有
GRANTS <权限列表> ON <数据库名.表名> TO '用户名'@'主机名';
取消授权
REMOVE <权限列表> ON <数据库名.表名> FROM '用户名'@'主机名';