SQL-mysql用户权限管理

一 前言

本篇内容是关于MYSQL 数据库管理系统对数据库用户的权限相关的操作;学习本篇的基础是知识追寻者之前发布的MYSQL系列文章(公众号读者看专辑)

《SQL-你真的了解什么SQL么?》

《SQL-小白最佳入门sql查询一》

《SQL-小白最佳入门sql查询二》

《SQL- 多年开发人员都不懂的插入与更新删除操作注意点》

《SQL-SQL事物操作》

《SQL-Mysql数据类型》

《SQL-mysql视图的前世今生》

《SQL-mysql储存过程》

《SQL-mysql游标与触发器》

公众号:知识追寻者

知识追寻者(Inheriting the spirit of open source, Spreading technology knowledge;)

二 用户操作

有关用户账号的信息储存mysql的MYSQL数据库,故如果需要查看用户信息,则需要进入MYSQL库;

2.2查看用户信息

user表储存了所有的登陆账号;使用mysql库查询user表中的user;

use mysql;
select `user` from user;

打印

user
----
root
mysql.session
mysql.sys
root

2.3 创建用户

CREATE USER 用户名 IDENTIFIED BY [PASSWORD] 密码

示例:创建用户 zszxz ,并指定密码为 zszxz;

create user zszxz IDENTIFIED by 'zszxz';

2.4 重名名用户

rename user 旧的用户名 to 新的用户名;

示例重命名 用户 zszxz 为 lsc

rename user zszxz to lsc;

2.5 删除用户

drop user 用户名

示例:删除用户lsc

drop user lsc;

2.6 更改密码

SET PASSWORD FOR 用户名 = PASSWORD('密码')

示例: 为用户 zszxz 更改密码为 lsc

SET PASSWORD FOR zszxz = PASSWORD('lsc')

三 权限操作

3.1 查看用户权限

SHOW GRANTS FOR 用户名

示例: 查看用户zszxz 拥有的权限

SHOW GRANTS FOR zszxz

打印

Grant for zszxz@%
----------------
GRANT USAGE ON *.* TO 'zszxz'@'%'

查询出一条权限,但 USAGE 表示 根本没有权限;

3.2 授予权限

GRANT 权限 ON 表名 TO 用户名 [IDENTIFIED BY [PASSWORD] 'password']

常见的权限 all, create, drop, insert, update, delete,select;

示例 给用户zszxz 分配 zszxz 库中的所有表的查询权限;

grant select on zszxz.* to zszxz;

再看下 zszxz变成 2 条

Grant for zszxz@%
----------------
GRANT USAGE ON *.* TO 'zszxz'@'%'
GRANT SELECT ON `zszxz`.* TO 'zszxz'@'%'

3.3 撤销权限

REVOKE 权限列表 ON 表名 FROM 用户名

示例:撤销 用户 zszxz 对 zszxz库里面所有表的查询操作;

revoke select on  zszxz.* from zszxz

3.4 权限列表

使用授权,撤销权限时可以参考如下权限列表;

ALL --- 除GRANT OPTION外的所有权限
ALTER ---使用ALTER TABLE
ALTER ROUTINE ---使用ALTER PROCEDURE和DROP PROCEDURE
CREATE ---使用CREATE TABLE
CREATE ROUTINE ---使用CREATE PROCEDURE
CREATE TEMPORARY TABLES ---使用CREATE TEMPORARY TABLE
CREATE USER ---使用CREATE USER、DROP USER、RENAME USER和REVOKE ALL PRIVILEGES
CREATE VIEW ---使用CREATE VIEW
DELETE ---使用DELETE
DROP ---使用DROP TABLE
EXECUTE ---使用CALL和存储过程
FILE ---使用SELECT INTO OUTFILE和LOAD DATA INFILE
GRANT OPTION ---使用GRANT和REVOKE
INDEX ---使用CREATE INDEX和DROP INDEX
INSERT ---使用INSERT
LOCK TABLES ---使用LOCK TABLES
PROCESS ---使用SHOW FULL PROCESSLIST
RELOAD ---使用FLUSH
REPLICATION CLIENT ---服务器位置的访问
REPLICATION SLAVE ---由复制从属使用
SELECT ---使用SELECT
SHOW DATABASES ---使用SHOW DATABASES
SHOW VIEW ---使用SHOW CREATE VIEW
SHUTDOWN ---使用mysqladmin shutdown(用来关闭MySQL)
SUPER ---使用CHANGE MASTER、KILL、LOGS、PURGE、MASTER和SET GLOBAL。还允许mysqladmin调试登录
UPDATE ---使用UPDATE
USAGE ---无访问权限
原文地址:https://www.cnblogs.com/zszxz/p/13215844.html