mysql数据库备份与恢复

物理与逻辑的角度
物理备份:冷备份,热备份,温备份
冷备份:在数据库关闭下备份状态下备份操作
热备份:在数据库处于运行状态时进行备份操作
温备份:数据库锁定表格(不可写,但可读)的状态下进行备份操作

从数据库的备份策略角度
完全备份,差异备份,增量备份
完全备份:每次对数据库进行完整的备份
差异备份:备份上次自从完全备份之后被修改过的所有文件
增量备份:只有那些在上次完全备份或增量备份之后被修改过的文件才会被备份

备份方法
物理备份:tar命令
专用的备份工具(逻辑备份):mysqldump
二进制日志备份(增量备份)

mysqldump逻辑备份的相关命令:完全备份
备份一个表:mysqldump -u root -p 库名.表名 >/备份路径/文件名
备份一个库:mysqldump -u root -p --databases库名>/备份路径/文件名
备份所有库:mysqldump -u root -p --opt --all-databases >/备份路径/文件名

还原
还原一个表:mysql -u root -p 库名 </备份路径/文件名
还原一个库:mysql -u  root -p </备份路径/文件名

增量恢复的方法
一般恢复:恢复整个日志文件
基于时间点的恢复:可以恢复部分日志
基于位置恢复:可以恢复部分日志

mysql二进制日志对备份的意义
二进制日志保存了所有更新或者可能更新数据库的操作

开启mysql二进制日志功能
log-bin=/usr/local/mysql/mysql-bin 

一般恢复:将所有备份的二进制日志内容全部恢复
mysqlbinlog [--no-defaults] 增量备份文件 | mysql -u用户名 -p

基于位置的恢复:通过位置恢复更加精准 指定位置
mysqlbinlog --stop-position='操作id' 二进制日志 | mysql-u用户名 -p

从指定的位置开始恢复数据
mysqlbinlog --start-position='操作id' 二进制日志 | mysql-u用户名 -p

基于时间点的恢复:从日志开始截止到某个时间点恢复
mysqlbinlog [--no-defaults] --stop-datetime='年-月-日小时:分钟:秒' 二进制日志 | mysql -u 用户名 -p 

从某个时间点到某个时间点的恢复
mysqlbinlog [--no-defaults] --start-datetime='年-月-日小时:分钟:秒' 二进制日志 | mysql -u 用户名 -p 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值