码迷,mamicode.com
首页 > 数据库 > 详细

MySQL备份,使用xtrabackup备份全实例数据时,会造成锁等待吗?那么如果使用mysqldump进行备份呢?

时间:2020-06-18 19:55:12      阅读:95      评论:0      收藏:0      [点我收藏+]

标签:col   访问权限   过程   添加   场景   master   pen   tmp   文件   

MySQL备份,使用xtrabackup备份全实例数据时,会造成锁等待吗?那么如果使用mysqldump进行备份呢?


一、xtrabackup和mysqldump会造成锁等待吗?
    xtrabackup会,它在备份时会产生短暂的全局读锁FTWL(flush table with read lock),用于拷贝frm/MYD/MYI等文件,以及记录binlog信息。如果MyISAM表的数据量非常大,则拷贝时间就越长,加锁的时间也越长。
    mysqldump有可能会。如果只是添加 --single-transacton 选项用于保证备份数据一致性,这时就不会产生FTWL锁了。但通常我们为了让备份文件和binlog保持一致,通常也会设置 --master-data 选项用于获得当前binlog信息,这种情况也会短暂加锁。
    数据量特别大的话,建议优先用 xtrabackup,提高备份/恢复速度。而如果数据量不是太大或者想备份单表,则建议用mysqldump了,方便逻辑恢复。各有利弊,注意其适用场景。


二、xtrabackup冷知识
    基于MySQL 5.6版本开发的xtrabackup,会在备份过程中生成内部通信文件suspend file,用于xtrabackup和innobackupex的通信,备份结束后文件删除,默认文件位置/tmp/xtrabackup_suspended。
    如果在备份过程中,修改了/tmp的访问权限或该文件的权限,则两个程序间直接不能通信,会造成xtrabackup hang住,正在备份的表不能正常释放锁,会造成锁等待,此时需要强制kill掉xtrabackup进程。

 

MySQL备份,使用xtrabackup备份全实例数据时,会造成锁等待吗?那么如果使用mysqldump进行备份呢?

标签:col   访问权限   过程   添加   场景   master   pen   tmp   文件   

原文地址:https://www.cnblogs.com/zhouwanchun/p/13159160.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!