我创建的用户只能从MySQL中选择/读取数据,但我仍然可以从数据库中删除表。 这个SQL脚本有什么问题。
create user 'test'@'%' Identified by 'test!';
grant SELECT ON * . * TO 'test'@'%';
FLUSH PRIVILEGES;
答案 0 :(得分:0)
您需要以root身份连接到数据库。
mysql -u root -p
我还注意到正确的命令应该是
GRANT SELECT ON *.* TO 'test'@'%';
同时你的是
grant SELECT ON * . * TO 'test'@'%';
也就是说,你有太多的空间(这可能是交易破坏者)。
然后只使用测试用户
mysql -u test -p
并运行更新查询。
您应该收到错误
command denied to user
你也可以尝试告诉你究竟在使用什么:
GRANT SELECT ON databasename.viewname TO 'test'@'identifythehost';
答案 1 :(得分:0)
很可能每个人都可以修改您的test
数据库。
试试这个:
DELETE FROM mysql.db WHERE Db IN('test', 'test\_%');
FLUSH PRIVILEGES;