当前位置: DB社区 > 02-mysql > 阅读正文

DCL 用户与权限管理

2021.1.5.   413 次   779字

DCL 通常是 DBA(数据库管理员)使用的语句,管理用户与数据库权限等

1.用户管理

1.查询用户

切换到系统自带的 mysql 数据库

use mysql;

查询 user 表

select * from user;

( Host 表示可访问 ip ,其中 “%” 表示任意ip)

2.创建用户

必须指定用户名,主机名,与密码

CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码';
3.删除用户

必须指定用户名和主机名

DROP USER '用户名'@'主机名';
4.修改用户密码

修改指定名称(可加主机名)用户的密码(通用 sql 方式)

UPDATE USER SET PASSWORD = PASSWORD('新密码') WHERE USER = '用户名';

修改指定“用户名及主机名”的用户密码( DCL 特有的方式)

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

忘记了 root 密码?

先关闭mysql 服务  ->   以管理员运行 cmd

在此窗口中,输入如下命令,跳过密码验证

mysqld --skip-grant-tables

然后,不要关闭此窗口,新打开一个 cmd,输入以下命令可直接登录

mysql

此时,你就已经以无验证方式登录 mysql ,改啥都可以。修改 root 密码

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

关闭这 2 个小窗口,使用任务管理器结束 mysqld.exe 进程

重新启动 mysql 服务,使用新密码登录即可。

2.用户权限管理

1.查询用户权限
SHOW GRANTS FOR '用户名'@'主机名';
2.授予用户权限

如果是所有权限,使用 ALL ,所有数据库所有表,使用 *.*

grant 权限列表 on 数据库名.表名 to '用户名'@'主机名';
3.撤销用户权限
revoke 权限列表 on 数据库名.表名 from '用户名'@'主机名';

本篇完,还有疑问?

加入QQ交流群:11500065636 IT 技术交流群