nonozone
V2EX  ›  问与答

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

  •  
  •   nonozone · Aug 8, 2013 · 9534 views
    This topic created in 4837 days ago, the information mentioned may be changed or developed.
    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

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

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

    这么高级的功能没用过~~
    nonozone
    nonozone
    OP
    Aug 8, 2013
    3
    @mongodb
    @66beta

    其实我也没用到高级功能。之前的服务器备份的时候没有备份这两个数据库,这两个库确实是在新的服务器自动创建的,但是出现这个错误实在是不解啊
    xzl
    xzl
    Aug 9, 2013
    4
    mysqldump的时候加上 --single-transaction 即可
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1287 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 19:27 · PVG 03:27 · LAX 11:27 · JFK 14:27
    ♥ Do have faith in what you're doing.