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

来源:互联网 发布:linux diff命令的功能 编辑:程序博客网 时间:2024/06/10 12:48

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
0 0