【老话重提】Mysql test开头的库,所有用户在这库上都有管理员权限

时间:2022-05-03
本文章向大家介绍【老话重提】Mysql test开头的库,所有用户在这库上都有管理员权限,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

只针对test库和以test_为前缀的库:

select * from mysql.userwhere user='xx';
host:%
user:xx
pass:xxxxxxxxxxxxxxxxxx

看到只有select_priv:Y

其他都是N

但是在一台主机上登陆:

mysql -uxx -pxxxxxxxxxxxxxxxxxx -h192.168.100.20 -P3306
mysql>use test

可以在test下建表,删表以及其他写操作

用其他账号建立一个新库test2

再使用只读账号去写test2,则会提示权限不足

然后用其它账号删除test库后再建立test库,看只读账号是否可以写test

试验证明只读账号仍然可以写其他账号新建的test库【安全隐患

所以为了安全起见:

建议在安装MySQL之后,立即删除test库,同时不允许建立test库,删除mysql.db中关于test和以test_为前缀的系统安装时自带的两个规则

测试:

这是 mysql 的默认规则,文档上写得很清楚,凡是名字以 test 这 4 个字母开头的 db,所有用户在这个库上都有管理员权限。所以为了安全,一般在装好 mysql 以后,都会删除 test 库。