Ответ 1
Это результат обновления сервера mysql. Выполнить
# mysql_upgrade -u root -p --force
# systemctl restart mysqld
Когда я пытаюсь запустить 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)
Это результат обновления сервера mysql. Выполнить
# mysql_upgrade -u root -p --force
# systemctl restart mysqld