我想将实时生产数据库复制到本地开发数据库中。有没有一种方法可以在不锁定生产数据库的情况下执行此操作
我目前正在使用:
mysqldump-u root--password=xxx-h xxx my_db1 | mysql-u root--password=xxx-h localhost my_db1
但它会在运行时锁定每个表
--lock tables=false选项有效吗
根据手册页,如果您正在转储InnoDB表,则可以使用--single transaction选项:
--锁定表,-l
在转储之前锁定所有表。这些表被READ锁定
LOCAL允许在MyISAM表的情况下进行并发插入。对于
事务表,如InnoDB和BDB,--单个事务是
一个更好的选择,因为它不需要将表锁定在
全部的
对于innodb DB:
mysqldump–single transaction=TRUE-u username-pdb