DCL:管理用户
1. 管理用户
- 查询用户
MySQL把用户的数据存放在 "mysql" 数据库的 "user" 表中。SELECT * FROM user;
- 创建用户
-- 主机名为 localhost 时仅限本地登陆,填写 % 时任何机器都可以登陆 CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码';
- 删除用户
DROP USER '用户名'@'主机名';
- 修改用户密码
UPDATE USER SET PASSWORD = PASSWORD('新密码') WHERE USER = '用户名'; -- 普通方式 SET PASSWORD FOR '用户名'@'主机名' = PASSWORD('新密码'); -- 特有的简化方式
- 重置 root 用户密码
- 命令提示符在管理员模式下停止 MySQL 服务:
net stop mysql
- 管理员模式下使用无验证方式启动MySQL服务:
mysqld --skip-grant-tables
- 开启新的命令行窗口进入MySQL:
mysql
- 进入 'mysql' 数据库:
USE mysql;
- 使用修改用户密码语句对root密码进行重置。
- 启动"运行"窗口,运行命令结束"mysqld"进程:
taskkill /im mysqld.exe /f
- 命令提示符在管理员模式下启动 MySQL 服务:
net start mysql
- 可以用新密码登陆 root 用户。
- 命令提示符在管理员模式下停止 MySQL 服务:
2. 权限管理
- 查询用户权限
SHOW GRANTS FOR '用户名'@'主机名';
- 授予权限
GRANT 权限列表 ON 数据库名.表名 TO '用户名'@'主机名'; GRANT ALL ON *.* TO '用户名'@'主机名'; -- 使用通配符给用户授予全部权限
- 撤销权限
REVOKE 权限列表 ON 数据库名.表名 FROM '用户名'@'主机号';