在 mySQL 5.6 中创建新用户时出现问题
我想要什么:当我创建新用户时,它没有任何特权,我只想在几个特定列中授予一些选择和更新。所以他应该能够更新所有数据库中的任何内容。听起来很公平。
所以,首先,我创建一个新用户:
CREATE USER 'newuser'@'%' IDENTIFIED BY 'password';
在此之后,我用我的新用户登录,当我执行show grants;
命令时,我有这个:
GRANT USAGE ON *.* TO 'newuser'@'%' IDENTIFIED BY PASSWORD '*2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19'
所以在我的理论中,他不能在我的数据库中做任何事情,因为他没有任何GRANT SELECT
特权。
但是当我在我的测试表中进行选择时,他可以查看所有列和所有结果。他可以更新......并做他想做的一切。就像他有一个GRANT SELECT,UPDATE,DELETE ... ON *.* TO 'newuser'@'%'
但我不能撤销它,因为他没有那个。
当然,我试过撤销所有特权,但我不能,因为他没有任何特权。
我希望我很清楚。所以我很困惑,有什么想法吗?
谢谢!
克莱门特