错误(1142)使用mysqldump

时间:2015-10-21 23:02:48

标签: mysql 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)

我发现something有关为类似错误添加--set-gtid-purged=OFF的问题。但是我没有在较旧的MySQL数据库上运行MySQL 5.6版本的mysqldump。但是,当我尝试它时,我得到一个新的但却相似的错误:

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,因为this SO post表示以下权限就足够了。

为dump @ 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 Distrib 5.7.8-rc,适用于Linux(x86_64)

1 个答案:

答案 0 :(得分:34)

这是mysql服务器升级的结果。 运行

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