Mysqldump 无法执行显示字段
Mysqldump couldn't excute show fields
我正在尝试创建一个 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;
,那么 table 被锁定了....
我认为解锁命令是UNLOCK TABLES
我正在尝试创建一个 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;
,那么 table 被锁定了....
我认为解锁命令是UNLOCK TABLES