MySQL новый пользователь PRIVILEGES не работает
Я создал пользователя для выбора / чтения данных только из MySQL, но я все еще могу удалять таблицы из базы данных. что не так в этом сценарии SQL.
create user 'test'@'%' Identified by 'test!';
grant SELECT ON * . * TO 'test'@'%';
FLUSH PRIVILEGES;
2 ответа
Скорее всего, ваш test
База данных может быть изменена всеми. Попробуй это:
DELETE FROM mysql.db WHERE Db IN('test', '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';