MySQL数据库用户管理和授权

数据库用户管理和授权

SQL分类复习

SQL分类 具体操作
DDL 操作数据库和表
DML 增删改表中数据
DQL 查询表中数据
DCL 管理用户,授权

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';

MySQL数据库用户管理和授权_第1张图片

删除用户

# 语法:DROP USER '用户名'@'主机名';
DROP USER 'zhangsan'@'localhost'; -- 删除zhangsan用户

MySQL数据库用户管理和授权_第2张图片

修改用户密码

# 语法:SET PASSWORD FOR '用户名'@'主机名' = PASSWORD('新密码');
SET PASSWORD FOR 'lisi'@'%' = PASSWORD('abc'); -- 修改lisi的密码为abc

修改完密码后,用新密码登录mysql

mysql -ulist -pabc

修改超级管理员密码

mysql中忘记了root用户的密码,需要使用管理员权限打开cmd命令进行重置?

1. cmd -- > net stop mysql 停止mysql服务
   	需要管理员运行该cmd
2. 使用无验证方式启动mysql服务: mysqld --skip-grant-tables
3. 打开新的cmd窗口,直接输入mysql命令,敲回车。就可以登录成功
4. use mysql;
5. update user set password = password('你的新密码') where user = 'root';
6. 关闭两个窗口
7. 打开任务管理器,手动结束mysqld.exe 的进程
8. 启动mysql服务
9. 使用新密码登录。

权限管理

新建的用户默认只有登录权限。需要通过授权才能进行其他操作。

查询用户权限

-- 查询用户权限
# 语法: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 *.* TO 'zhangsan'@'%';

撤销用户权限

-- 撤销用户权限
# 语法:revoke 权限列表 on 数据库名.表名 from '用户名'@'主机名';
-- 给lisi用户撤销 db3.account 的 UPDATE权限
REVOKE UPDATE ON db3.`account` FROM 'lisi'@'%';
-- 给zhangsan用户取消 所有数据库和表 的 DELETE 和 UPDATE的权限
REVOKE DELETE,UPDATE ON *.* FROM 'zhangsan'@'localhost'

你可能感兴趣的:(MySQL数据库)