QL分类
DBA:数据库管理员,专门对数据库进行管理和授权的的相关操作。
用户管理
mysql数据库中有一个user表,用来存储用户的信息。
查询用户
-- 1. 切换到mysql数据库
USE myql;
-- 2. 查询user表
SELECT * FROM USER;
- 通配符: % 表示可以在任意主机使用用户登录数据库
添加用户
语法:CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码';
CREATE USER 'zhangsan'@'localhost' IDENTIFIED BY '123456';
CREATE USER 'lisi'@'%' IDENTIFIED BY '123456';
删除用户
语法:DROP USER '用户名'@'主机名';
DROP USER 'zhangsan'@'localhost'; -- 删除zhangsan用户
修改用户密码
语法:SET PASSWORD FOR '用户名'@'主机名' = PASSWORD('新密码');
SET PASSWORD FOR 'lisi'@'%' = PASSWORD('abc'); -- 修改lisi的密码为abc
修改完密码,用新密码登录mysql
mysql中忘记了root用户的密码,需要使用管理员权限打开cmd命令进行重置?
- cmd -- > net stop mysql 停止mysql服务
- 需要管理员运行该cmd
- 使用无验证方式启动mysql服务: mysqld --skip-grant-tables
- 打开新的cmd窗口,直接输入mysql命令,敲回车。就可以登录成功
- use mysql;
- update user set password = password('你的新密码') where user = 'root';
- 关闭两个窗口
- 打开任务管理器,手动结束mysqld.exe 的进程
- 启动mysql服务
- 使用新密码登录。
权限管理
新建的用户默认只有登录权限。需要通过授权才能进行其他操作。
查询用户权限
-- 查询用户权限
语法:SHOW GRANTS FOR '用户名'@'主机名';
SHOW GRANTS FOR 'lisi'@'%';
list@% 用户有 USAGE 登录权限
授予用户权限
-- 授予用户权限
语法:grant 权限列表 on 数据库名.表名 to '用户名'@'主机名';
-- 给lisi用户授予 查询,修改,删除 db3数据库的account表数据的权限
GRANT SELECT,UPDATE,DELETE ON db3.account TO 'lisi'@'%';
-- 给zhangsan用户授予所有权限
GRANT ALL ON
撤销用户权限
-- 撤销用户权限
语法:revoke 权限列表 on 数据库名.表名 from '用户名'@'主机名';
-- 给lisi用户撤销 db3.account 的 UPDATE权限
REVOKE UPDATE ON db3.account FROM 'lisi'@'%';
-- 给zhangsan用户取消 所有数据库和表 的 DELETE 和 UPDATE的权限
REVOKE DELETE,UPDATE ON