问题描述
最近在备份mysql数据的时候,dump数据库的时候发现个报错:
mysqldump: Got error: 1556: "You can't use locks with log tables." when using LOCK TABLES
解决步骤:
查了下是因为dump mysql库的时候,里面是有两个表锁。
在mysqldump指令后添加--lock-tables=0
即可。
总结
mysqldump备份默认会开启锁表的–opt默认开启的,这导致在备份大数据的时候会影响到线上业务.
为了防止这个,我们可以在备份中使用--skip-opt
取消这个默认选项来备份.添加了这个参数以后其实也不会出现上面的报错了。
mysqldump --skip-opt -h<host> -u<user> -p<password> -A >> backup.sql --进行全量备份