mysql备份与恢复笔记(mysqlbinlog部分)

来源:互联网 发布:js获取this对象 编辑:程序博客网 时间:2024/05/17 03:30
#--no-defaults去除默认配置, -d 仅操作对应的数据库
mysqlbinlog  --no-defaults  -d dbname 


#在控制台中列出所有二进制日志
mysqlbinlog --no-defaults D:/Program/mysql/data/binlog/mysql_bin.000004


#将二进制文件中记录的SQL语句重定向到log.sql文件中
mysqlbinlog --no-defaults D:/Program/mysql/data/binlog/mysql_bin.000004 > log.sql


#导出特定位置的信息, at后面的数字就是位置,所以可以先重定向到文件,然后查找出位置
mysqlbinlog --start-position=185 --stop-position=338 e:/log/logbin.000001 > e:/log/log3.txt 


#导出特定时间的信息,日志文件中记录的年份是两位,如141122 10:22:00 表示2014-11-22 10:22:00
mysqlbinlog --start-datetime="2010-01-07 11:25:56" --stop-datetime="2010-01-07 13:23:50" e:/log/logbin.000001 > e:/log/log_by_date22.txt 






恢复数据:
#通过管道导入数据库
mysqlbinlog e:/log/logbin.000001 | mysql -u root -p 


mysqlbinlog --start-position=185 --stop-position=338 e:/log/logbin.000001 | mysql -u root -p 


mysqlbinlog --start-datetime="2010-01-07 11:25:56" --stop-datetime="2010-01-07 13:23:50" e:/log/logbin.000001 | mysql -u root -p 


#导出文件可以通过mysql客户端导入,或者进入客户端后通过source命令导入




查看,更新,删除日志:


#查看当前有多少个日志文件
mysql> show master logs;


#查看当前使用的binlog文件
mysql> show binlog events \G;


#产生一个新的日志文件, 刷新当前的日志文件,后面的日志将写入新的日志文件中
mysql> flush logs;


#删除所有的日志
mysql> reset master;


#删除中续日志
mysql> reset slave;


#设定日志过期时间
mysql> show variables like 'expire_logs_days';
mysql> set global expire_logs_days=3;


#删除指定日期之前的日志
mysql> purge master logs before '2014-11-20 17:00:00';


#删除指定文件之前的日志
mysql> purge master logs to 'mysql_bin.000004'

0 0
原创粉丝点击