11、如何优雅备份MySQL?

Mysqldump 粗暴的备份数据

会出现脏数据,我们备份数据的过程中,有个下单的操作正在执行。 下单之后,还没有来得及扣款,就开始执行备份数据的命令,就会出现脏数据。

mysqldump -uroot -p <数据库名> > backup.db

Mysqldump 安全的备份数据

事务方式: 开启事务后,会跟正常业务操作产生锁资源竞争,可能会阻塞其他的业务操作,严重的可能会导致服务宕机,所以备份操作尽量在业务低峰期执行。

# 适合 InnoDB 存储引擎
mysqldump -uroot -p --single-transaction <数据库名> > backup.db

Mysqldump 推荐备份方法

缺点: 无法写入

# 1、设置全局锁,禁止写操作
flush tables with read lock;

# 2、备份数据

# 3、释放锁
unlock tables;

Last updated