前言:MySQL备份方法有很多种,物理备份,逻辑备份,冷备,热备,完全备份,增量备份,差异备份,因此要根据生产实际情况,选择合适的备份方式
-
物理备份
- 冷备:cp ,tar,…
缺点
—— 跨平台性差
—— 备份时间长,冗余备份,浪费存储空间
-
逻辑备份
- mysqldump //备份命令
- mysql //恢复命令
-
完全备份
- 备份所有数据
-
增量备份
- 备份上次备份后,新产生的数据
-
差异备份
- 完全备份后,所有新产生的数据
mysqldump工具(逻辑备份,全量备份(备份后空间约占原来ibd使用空间的40%))
相对于物理备份,cp或tar,mysqldump属于逻辑备份,逻辑备份相较于物理备份来说兼容性好,物理备份往往因为mysql版本或者跨平台一些原因可能会导致数据不一定能恢复
mysqldump缺点
- 效率低.备份和还原速度慢,锁表
- 备份过程中,数据插入和更新被阻塞
完全备份及恢复
-
完全备份
]#mysqldump -uroot -p密码 库名 > 目录/xxx.sql //单个库 ]#mysqldump -uroot -p密码 -A或--all-database > 目录/allbak.sql //所有库 ]#mysqldump -uroot -p密码 -B 数据库1 数据库2 ... > 目录/xxx.sql //多个库 ]#mysqldump -uroot -p密码 库名 表名 > 目录/xxx.sql //某个库里的单张表
-
完全恢复
]#mysql -uroot -p密码 [库名] < 目录/xxx.sql //若库不存在需要手动先将空库创建出来 //若是恢复表无论数据库里有无这张表都无关
binlog日志(增量备份)
- 什么是binlog日志
- 也叫做 二进制日志
- mysql服务日志的一种
- 记录除查询之外的所有sql
- 可用于数据的备份和恢复
- 是配置mysql主从同步的必要 条件
XtraBacKup工具
- 强大的在线热备工具
- 备份过程不锁表,适合生产环境
- 兼容完全备份,增量备份