Mysqldump无法执行show fields

时间:2015-01-02 10:42:01

标签: mysql linux mysqldump

我正在尝试创建一个mysql转储文件,但我遇到了一些重大问题:

首先我试过:

mysqldump --user=root --password=**** --host=localhost system_db > /var/www/system_db/site/resources/backup/file.sql

我收到了消息:

mysqldump: Got error: 1449: The user specified as a definer ('root'@'%') does not exist when using LOCK TABLES

然后我尝试更新用户:

UPDATE `mysql`.`proc` p SET definer = 'root@localhost' WHERE definer='root@%'

再次发表声明,但没有运气。

然后我尝试了:

mysqldump --single-transaction -u root -p system_*** > db.sql

这有效,但现在我收到以下错误:

mysqldump: Couldn't execute 'SHOW FIELDS FROM `v_user_stats`': SELECT command denied to user ''@'%' for column 'user_id' in table 'test_score' (1143)

谁能告诉我发生了什么事?以及我如何解决它?

1 个答案:

答案 0 :(得分:0)

如果您发现In_use大于0,那么只需使用SHOW OPEN TABLES;,那么该表就会被锁定....

我认为要解锁的命令是UNLOCK TABLES