前言:MySQL备份方法有很多种,物理备份,逻辑备份,冷备,热备,完全备份,增量备份,差异备份,因此要根据生产实际情况,选择合适的备份方式
物理备份
逻辑备份
- 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工具
- 强大的在线热备工具
- 备份过程不锁表,适合生产环境
- 兼容完全备份,增量备份
