MySQL安全(一)权限系统

一、授权

1、创建用户

在MySQL中,管理员可以通过以下命令创建用户:

复制代码
name'@'localhost' IDENTIFIED BY 'password';

name是要创建的用户名,localhost表示该用户只能从本地连接到MySQL,password是该用户的密码。如果要允许该用户从任何主机连接到MySQL,则可以将localhost改为%。

2、授予权限

在MySQL中,管理员可以通过以下命令授予用户权限:

复制代码
issioname'@'localhost';

issioname和localhost的含义同上。如要授予用户test在数据库test中的表user上进行SELECT和INSERT操作的权限,可以使用以下命令:

复制代码
GRANT SELECT,INSERT ON test.user TO 'test'@'localhost';
3、撤销权限

在MySQL中,管理员可以通过以下命令撤销用户权限:

复制代码
issioname'@'localhost';

issioname和localhost的含义同上。如要撤销用户test在数据库test中的表user上的SELECT和INSERT权限,可以使用以下命令:

复制代码
REVOKE SELECT,INSERT ON test.user FROM 'test'@'localhost';
4、查看权限

在MySQL中,管理员可以通过以下命令查看用户权限:

复制代码
name'@'localhost';

name和localhost的含义同上。要查看用户test在本地的权限,可以使用以下命令:

复制代码
SHOW GRANTS FOR 'test'@'localhost';

二、权限级别:

mysql中的权限分为5个级别

1、Global Level:
2、Database Level
3、Table Level
4、Column Level
5、Routine(常规) Level
6、特殊级别GRANT

除了上面几类权限之外,还有一个非常特殊的权限GRANT,拥有GRANT 权限的用户可以将自身所拥有的任何权限全部授予其他任何用户,所以GRANT 权限是一个非常特殊也非常重要的权限。GRANT 权限的授予方式也和其他任何权限都不太一样,通常都是通过在执行GRANT授权语句的时候在最后添加WITH GRANT OPTION 子句达到授予GRANT 权限的目的。

三、mysql访问控制实现原理

相关推荐
陌上丨2 分钟前
Redis内存使用率在95%以上,请问是什么原因?如何解决?
数据库·redis·缓存
m0_5613596715 分钟前
使用PyQt5创建现代化的桌面应用程序
jvm·数据库·python
2301_7903009615 分钟前
用Python实现自动化的Web测试(Selenium)
jvm·数据库·python
青岑CTF16 分钟前
攻防世界-Web_php_include-胎教版wp
开发语言·安全·web安全·网络安全·php
xiaoye370828 分钟前
redis和mysql数据库如何保证数据一致性
redis·mysql
m0_5613596728 分钟前
使用Docker容器化你的Python应用
jvm·数据库·python
一条闲鱼_mytube31 分钟前
MySQL vs PostgreSQL 对比
数据库·mysql·postgresql
Maynor99631 分钟前
Clawdbot安装教程:从零开始到接入飞书
java·数据库·飞书
小北方城市网33 分钟前
Spring Boot 多数据源与事务管理实战:主从分离、动态切换与事务一致性
java·开发语言·jvm·数据库·mysql·oracle·mybatis
u0109272711 小时前
使用Scrapy框架构建分布式爬虫
jvm·数据库·python