【老话重提】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 库。

原文发布于微信公众号 - MYSQL轻松学(learnmysql)

原文发表时间:2017-05-23

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

扫码关注云+社区