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访问控制实现原理

相关推荐
q31813690612 分钟前
打造高效、安全的期货资管交易平台:开发流程与关键要素解析
安全
何传令27 分钟前
SQL排查、分析海量数据以及锁机制
数据库·sql·mysql
msg_data1 小时前
windows环境下MySQL 8.0 修改或重置密码
数据库·mysql
踏过山河,踏过海2 小时前
Django自带的加密算法
数据库·django·sqlite
黑白极客3 小时前
如何判断一个数据库是不是出问题了?
数据库·mysql
不辉放弃3 小时前
Spark的累加器(Accumulator)
大数据·数据库·spark
aini_lovee3 小时前
python命令行解析模块argparse
服务器·前端·数据库
Chase_______3 小时前
redis快速入门及使用
java·数据库·redis·学习·spring·缓存
不辉放弃4 小时前
Spark的宽窄依赖
大数据·数据库·pyspark