Ошибка (1142) Команда SELECT запрещена в таблице session_variables с помощью mysqldump

Когда я пытаюсь запустить mysqldump -u dump -p myschema > dumpfile.sql, я получаю это сообщение об ошибке:

mysqldump: Couldn't execute 'SHOW VARIABLES LIKE 'gtid\_mode'': SELECT command denied to user 'dump'@'localhost' for table 'session_variables' (1142)

Я нашел что-то о добавлении --set-gtid-purged=OFF для аналогичной ошибки. Но я не использую MySQL 5.6 версии mysqldump в более старой базе данных MySQL. Однако, когда я пытаюсь, я получаю новую, но схожую ошибку:

mysqldump: Couldn't execute 'SHOW VARIABLES LIKE 'ndbinfo\_version'': SELECT command denied to user 'dump'@'localhost' for table 'session_variables' (1142)

Я не уверен, почему пользователю нужен доступ к таблице session_variables, который, как я полагаю, равен information_schema.SESSION_VARIABLES, так как этот SO сообщение сказал, что следующие разрешения были достаточно.

Гранты для дампа @localhost

 GRANT USAGE ON *.* TO 'dump'@'localhost'
 GRANT SELECT, LOCK TABLES ON mysql.* TO 'dump'@'localhost'
 GRANT SELECT, LOCK TABLES, SHOW VIEW, EVENT, TRIGGER ON myschema.* TO  'dump'@'localhost'

Что происходит и как заставить mysqldump работать?

Вот некоторые из моих системных сведений

Версия MySQL

Версия сервера: 5.7.8-rc Сервер сообщества MySQL (GPL)

версия mysqldump

Ver 10.13 Распространение 5.7.8-rc для Linux (x86_64)

Ответы

Ответ 1

Это результат обновления сервера mysql. Выполнить

# mysql_upgrade -u root -p --force
# systemctl restart mysqld