我创建了一个用户来仅从 MySQL 中选择/读取数据,但我仍然可以从数据库中删除表。这个 SQL 脚本有什么问题。
create user 'test'@'%' Identified by 'test!';
grant SELECT ON * . * TO 'test'@'%';
FLUSH PRIVILEGES;
我创建了一个用户来仅从 MySQL 中选择/读取数据,但我仍然可以从数据库中删除表。这个 SQL 脚本有什么问题。
create user 'test'@'%' Identified by 'test!';
grant SELECT ON * . * TO 'test'@'%';
FLUSH PRIVILEGES;
您需要以 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';
很可能test
每个人都可以修改您的数据库。尝试这个:
DELETE FROM mysql.db WHERE Db IN('test', 'test\_%');
FLUSH PRIVILEGES;