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';
Другие вопросы по тегам