MySQL 备份与恢复

数据库的备份可以防止服务器宕机、磁盘损坏、RAID卡损坏等意外情况下产生的数据丢失。

MySQL的备份工具:
mysqldump
ibbackup
replication
LVM快照
或者第三方工具xtrabacup等

数据库的备份方法

根据备份方法划分:

1:热备

2:冷备

根据备份文件划分:

1:逻辑备份:mysqldump和SELECT * INTO OUTFILE等之类的。

2:物理备份:使用ibbackup、xtrabackup之类的工具复制物理文件。

按照备份内容划分:

1:完全备份:对全库的备份。

2:增量备份:对部分更改库的备份。一般通过二进制日志完成

ps:增量备份是通过检查每页最后的检查点LSN,如果大于之前全备的LSN,则备份该页,否则,略过。这就是xtrabackup的备份原理,在数据量比较大的情况下大大减少备份和恢复的时间。

对于Innodb存储引擎,用mysqldump备份时最好加上 --single-transaction选项用来保证数据的一致性

一般情况下备份通过自动化脚本完成 

1:根据备份策略自动备份

2:监控备份

3:如果有异常通知DBA

4:最好有远程的异地备份 

备份全库:

[root@10-4-14-168 mysql]# mysqldump -uroot -p --all-databases >/root/backupdata/20140918_alldb.sql

 

备份部分库

[root@10-4-14-168 backupdata]# mysqldump -uroot -p --databases mysql test >/root/backupdata/20140918_2db.sql

  

确保数据一致性

--single-transaction 可以保证备份数据的一致性

[root@10-4-14-168 backupdata]# mysqldump -uroot -p --single-transaction test>/root/backupdata/20140918_test.sql
Enter password: 

--lock-tables (-l) 一般适用于MyISAM存储引擎

 

--master-data  主要用来建立一个replication

当--master-data = 1 :转存文件记录CHANGE MASTER

当--master-data = 2:转存文件注释CHANGE MASTER

原文地址:https://www.cnblogs.com/xiaoit/p/3978406.html