运行MySQLDump而不锁定表?

  • 回答 (2)
  • 关注 (0)
  • 查看 (44)

我想要将生产数据库复制到我的本地开发数据库中。有没有办法做到这一点,而不锁定生产数据库?

我目前正在使用:

mysqldump -u root --password=xxx -h xxx my_db1 | mysql -u root --password=xxx -h localhost my_db1

但它锁定每个表运行。

汐夜汐夜提问于
嗨喽你好摩羯座回答于

这已经太迟了,但是对于那些正在寻找这个主题的人来说,这是一件好事。如果你不是innoDB,你不担心在转储时锁定,只需使用以下选项:

--lock-tables=false
心愿回答于

--lock-tables=false选项是否有效?

根据手册页,如果您正在倾销InnoDB表,您可以使用以下--single-transaction选项:

--lock-tables, -l

Lock all tables before dumping them. The tables are locked with READ
LOCAL to allow concurrent inserts in the case of MyISAM tables. Fo
transactional tables such as InnoDB and BDB, --single-transaction is
a much better option, because it does not need to lock the tables at
all.

扫码关注云+社区

领取腾讯云代金券