mysql备份转移服务器之后,导出数据的时候出现以下提示,这个是怎么回事?

2013-08-08 14:42:22 +08:00
 nonozone
mysqldump: Got error: 1044: Access denied for user 'root'@'localhost' to database 'information_schema' when using LOCK TABLES
-- Warning: Skipping the data of table mysql.event. Specify the --events option explicitly.
mysqldump: Got error: 1142: SELECT,LOCK TABL command denied to user 'root'@'localhost' for table 'cond_instances' when using LOCK TABLES

转移服务器的时候,之前的数据库没有备份information_schema和mysql这两个数据库。
但是我直接用命令mysqldump -uroot -pxxxx --all-dababases>xxx.sql的时候不会提示这个错误。运行一个vps备份脚本的时候会出现这个脚本对应的代码如下
23 for db in `mysql -u$MYSQL_USER -p$MYSQL_PASS -B -N -e 'SHOW DATABASES' | xargs`
24 do
25 mysqldump -u$MYSQL_USER -p$MYSQL_PASS ${db} | gzip -9 - > ${db}.sql.gz
26 done

感觉也没多大影响,往指点一下。
8706 次点击
所在节点    问与答
4 条回复
mongodb
2013-08-08 17:45:32 +08:00
只要对应应用的sql导出没问题就ok,root权限相关的可以在新的服务器上重建后再进行导入。
话说我的个人习惯是只导出具体的应用的库,mysql库根本不管。都是新建。
66beta
2013-08-08 17:50:29 +08:00
'root'@'localhost' 没有LOCK TABLES权限?
root用户的'Server Privileges"中,有一项"Lock Tables"是否勾选?

其他用户一般都会单独对某表指定"Lock Tables"的吧

这么高级的功能没用过~~
nonozone
2013-08-08 22:05:40 +08:00
@mongodb
@66beta

其实我也没用到高级功能。之前的服务器备份的时候没有备份这两个数据库,这两个库确实是在新的服务器自动创建的,但是出现这个错误实在是不解啊
xzl
2013-08-09 01:34:23 +08:00
mysqldump的时候加上 --single-transaction 即可

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/78421

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX