SQL-mysql用户权限管理
一 前言
本篇内容是关于MYSQL 数据库管理系统对数据库用户的权限相关的操作;学习本篇的基础是知识追寻者之前发布的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 ---无访问权限