问题描述

最近在备份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    --进行全量备份