MySQL系列——MySQL备份和恢复

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL系列——MySQL备份和恢复相关的知识,希望对你有一定的参考价值。

mysql的备份和还原
备份 :副本
RAID1,RAID10 :保证硬件损坏而不会业务中止;
备份和还原 :可以保证因逻辑错误引起的数据丢失
备份类型 :
热备份 :读写不受影响
温备份 :仅可以执行读操作
冷备份 :离线备份,读、写操作均中止

物理备份和逻辑备份
物理备份 :复制数据文件
逻辑备份 :将数据导出至文本文件中

完全备份、增量备份和差异备份
备份什么:
数据、配置文件、二进制日志、事务日志
主从服务器架构

物理备份 :速度快
逻辑备份 :速度慢、丢失浮点数精度:方便使用文本处理工具直接对其处理,可移植能力强;

备份策略 :完全+增量 、 完全+差异
MYSQL备份工具 :
mysqldump : 逻辑备份工具、MyISAM(温)、InnoDB(热备份)
mysqlhotcopy : 物理备份工具、温备份
文件系统工具 :
cp :冷备
lv : 逻辑卷的快照功能,几乎热备;
FLUSH TABLES;
LOCK TABLES
创建快照,释放锁,而后复制数据
第三组工具 :
ibbackup : 商业工具
xtrabackup : 开源工具
MYSQL备份工具比较列表
技术图片

mysqldump : 逻辑备份
mysqldump(完全备份)+二进制日志
完全+增量
备份单个数据库,或库中单个表
mysqldump DB_NAME [tb1] [tb2]
mysqldump --master-data=0|1|2
0 : 不记录二进制日志文件及路位置
1 :以CHNAGE MASTER TO的方式记录位置,可用于恢复后直接启动从服务器
2 :以CHNAGE MASTER TO的方式记录位置,但默认为被注释;
--lock-all-tables : 锁定所有表
--flush-logs : 执行日志flush;
如果指定库中的表类型均为InnoDB,可使用--single-transaction启动热备;
备份多个库 :
--all-databases : 备份所有库
--datebases DB_NAME,DB_NAME,... 备份指定库
--events 事件
--routines 存储过程、存储函数
--triggers 触发器

FLUSH TABLES WITH READ LOCK; 刷新表并使用读锁
技术图片

备份策略 :周完全+每日增量
完全备份:mysqldump
增量备份:备份二进制日志文件(flush logs)
二进制日志 :
set sql_log_bin=1 1=ON 0=OFF

以上是关于MySQL系列——MySQL备份和恢复的主要内容,如果未能解决你的问题,请参考以下文章

mysql系列之6--------使用第三方工具-percona来备份mysql和恢复

mysql 开发进阶篇系列 47 xtrabackup (完全备份恢复,恢复后重启失败总结)

第五章 MySQL事务,视图,索引,备份和恢复

如何用Java实现MySQL数据库的备份和恢复

mysql备份和恢复

mysql备份和恢复