我对 MariaDB 还不太熟悉,尤其是复制方面。不过,今天因为值班,我遇到了一个问题。
看起来我的副本在拍摄mysqldump
副本时落后了。这是正常现象吗?还是下面的备份命令有问题?
mysqldump --defaults-file=$MYCNF -A --events --routines --master-data=2 | gzip -9 -c > ${BKPFILE}
看起来我们在转储完成后正在赶上进度。
我对 MariaDB 还不太熟悉,尤其是复制方面。不过,今天因为值班,我遇到了一个问题。
看起来我的副本在拍摄mysqldump
副本时落后了。这是正常现象吗?还是下面的备份命令有问题?
mysqldump --defaults-file=$MYCNF -A --events --routines --master-data=2 | gzip -9 -c > ${BKPFILE}
看起来我们在转储完成后正在赶上进度。
默认情况下,除非设置了 此
--opt
选项,否则将使用它。包含该选项。mysqldump
--skip-opt
--opt
--lock-tables
这意味着,对于每个转储的数据库,转储首先会锁定所有表以进行读取,以确保一致性。MyISAM 表也需要这样做,而且据我所知,目前还没有改变。
如果您的所有表都是 InnoDB 表,则应该使用选项集运行转储
--single-transaction
。这将禁用锁定并使用事务快照来保持一致性,从而允许其他人根据需要写入表。可能的缺点是,长时间运行的事务可能会导致撤消日志变得很大,从而减慢所有操作的速度。但这应该不成问题,除非你的转储运行时间超过一小时,或者数据库写入操作非常繁重——如果副本目前能够顺利跟上,那就没问题了。