«Не удается найти подходящую строку в пользовательской таблице» после обновления mysql с 5.6 до 5.7. - PullRequest
0 голосов
/ 21 декабря 2018

Я получаю эту ошибку:

Не могу найти ни одной подходящей строки в пользовательской таблице

При попытке выполнить эту строку моего скрипта CI:

GRANT ALL PRIVILEGES ON dbname.* TO 'user'@'host' WITH GRANT OPTION;

Я знаю, что подобные вопросы уже задавались:

Не удалось найти ни одной подходящей строки в таблице пользователя

Ошибка MySQL # 1133 - Не удалось найти ни одной подходящей строки в пользовательской таблице

https://dba.stackexchange.com/questions/69921/error-code-1133-cant-find-any-matching-row-in-the-user-table

, однако ни одна из них не решила мою проблему.

В частности, в моем случае эта проблема возникла после того, как я обновил travis-ci с использования Ubuntu 14.04 до 16.04, что также изменило версию MySQL с 5.6 до 5.7 .

Так что я уверен, что тот же код работает с MySQL 5.6, но не с MySQL 5.7.

В чем может быть проблема?

1 Ответ

0 голосов
/ 21 декабря 2018

В MySQL 5.7 они изменили режимы SQL по умолчанию, чтобы включить NO_AUTO_CREATE_USER.Это не позволяет GRANT создавать пользователей, поэтому вы должны использовать CREATE USER.Вы также можете удалить этот параметр из режима SQL вашего сервера.

Это изменение было подготовлено для версии 8.0, что исключает возможность GRANT для полного создания пользователей.

...