我正在尝试创建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)

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

最佳答案

如果发现In_use大于0,则使用SHOW OPEN TABLES;即可锁定该表。

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

关于Mysqldump无法执行显示字段,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27740841/

10-11 22:23
查看更多