• 幕客老师召集小伙伴
  • 运维高手36项修炼
  • python自动化运维项目实战
  • nginx从入门到实战
  • 阿里云与Centos7实战

mysqldump对inodb数据库进行一致性dump和不锁表参数

对innodb数据库、表进行dump的时候,会出现数据库锁表的情况,为了避免锁表,且保证数据的一致性,我们可以在mysqldump的时候加入参数:

--single-transaction

--skip-lock-tables //表示不锁表

 

注意:只能用语inodb存储引擎。

如myisam是不支持的,原因如下:

因为它压根就不支持事务,自然就无法实现上述的过程,虽然添加了--single-transaction参数的myisam表处理过程和上面的完全一致,但是因为不支持事务,在整个dump过程中无法保证可重复读,无法得到一致性的备份。而innodb在备份过程中,虽然其他线程也在写数据,但是dump出来的数据能保证是备份开始时那个binlog pos的数据。

 

例子:

mysqldump  -uroot --skip-lock-tables --socket=/tmp/mysql.sock --default-character-set=utf8 -t dbname tablename  --single-transaction -q > ./tablename.sql

mysqldump对inodb数据库进行一致性dump和不锁表参数

Pingbacks已打开。

引用地址

暂无评论

发表评论