2.mysql mysql备份数据与恢复方案

mysqldump备份数据与恢复

1.备份数据
2.恢复备份数据
3.恢复bin-log中的数据

1. mysqldump数据备份

#mysqldump命令
#-l 读锁,让所有的人无法进行写的操作,保证备份后的数据和新的bin-log日志能够无缝结合
#-F 备份完成后执行 flush logs操作 创建一个新的 bin-log日志
#命令如下:
/usr/local/mysql/bin/mysqldump -uroot -pdh977094 test -l -F >'/tmp/test.sql'

#将会把test数据库的数据保存到/tmp/test.sql

2.1 cp全部的数据

如果服务器停止了更新操作,可以直接打包文件备份数据
tar -cvf data.tar /usr/local/mysql/data/

2.2 mysql导入sql文件恢复数据

#sql命令导入数据到master数据库
mysql -uroot -pdh977094 master -v -f </tmp/master.sql
#-v 查看导入的详细信息
#-f 当中间遇到错误时可以skip过去,继续执行下面的语句

3. mysql bin-log恢复数据

其原理是将bin-log里面记录的操作提取出来再执行一次

1.整个binlog日志恢复
/usr/local/mysql/bin/mysqlbinlog --no-defaults /usr/local/mysql/data/mysql-bin.000004 | mysql -uroot -pdh977094 master
#此时是将mysql-bin.000004里面记录的对数据库的操作再取出来在数据库中执行一次

2.恢复指定的binlog日志中的操作
#1).按指定位置恢复,2).按指定时间恢复
#在mysqlbinlog命令后加参数
#--start-position="100" --stop-position="100"
#--start-date="2016-01-04 21:15:50" --start-date="2016-02-04 21:15:50"

#命令如下
#1.先恢复9:30备份好的数据
/usr/local/mysql/bin/mysqldump -uroot -pdh977094 test -l -F >'/tmp/test.sql'
#2.再根据9:30以后bin-log日志中的记录进行恢复
/usr/local/mysql/bin/mysqlbinlog --no-defaults /usr/local/mysql/data/mysql-bin.000004 --start-position="100" --stop-position="100" | mysql -uroot -pdh977094 master
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值