/*
* BINLOG就是一个记录SQL语句的过程,和普通的LOG一样。不过只是她是二进制存储,普通的是十进制存储。
* 开启binlog
* 打开配置文件:
* [mysqld]
* log-bin=mysql-bin(名字可以改成自己的,如果不改名字的话,默认是以主机名字命名)
* 重新启动MSYQL服务。
*
*/
//查看mysql binlog日志
>show variables like '%bin%';
//查看其binlon日志位置
>show master status;
//查看binlog文件列表
>show binary logs;
//查看binlog日志的events
>show binlog events;
【第一种方式】
//用mysqlbinlog 工具来显示记录的二进制结果,然后导入到文本文件,为了以后的恢复。
//详细过程如下:
>D:\LAMP\MYSQL5\data>mysqlbinlog --start-position=4 --stop-position=106 yueliangdao_binglog.000001 > c:\\test1.txt
//导入到文件
>D:\LAMP\MYSQL5\data>mysqlbinlog --start-position=134 --stop-position=330 yueliangdao_binglog.000001 >test1.txt
//进入MYSQL导入
>./mysqlbinlog --start-date="2009-04-10 17:30:05" --stop-date="2009-04-10 17:41:28" /usr/local/mysql/data/mysql-bin.000002 |mysql -u root -p123456
或者
mysql> source c:\\test1.txt
【第二种方式】将一个mysqlbinlog文件导为sql文件
//将mysql-bin.000001日志文件导成001.sql
>./mysqlbinlog /usr/local/mysql/data/mysql-bin.000001 > /opt/001.sql
//可以在mysqlbinlog语句中通过--start-date和--stop-date选项指定DATETIME格式的起止时间
>./mysqlbinlog --stop-date="2009-04-10 17:41:28" /usr/local/mysql/data/mysql-bin.000002 > /opt/004.sql
//将mysql-bin.000002文件中截止到2009-04-10 17:41:28的日志导成004.sql
>./mysqlbinlog --start-date="2009-04-10 17:30:05" --stop-date="2009-04-10 17:41:28" /usr/local/mysql/data/mysql-bin.000002 /usr/local/mysql/data/mysql-bin.0000023> /opt/004.sql
//注:如果有多个binlog文件,中间用空格隔开,打上完全路径
//将mysql-bin.000002日志文件中从2009-04-10 17:30:05到2008-04-10 17:41:28截止的sql语句导入到mysql中
>./mysqlbinlog --start-date="2009-04-10 17:30:05" --stop-date="2009-04-10 17:41:28" /usr/local/mysql/data/mysql-bin.000002 | mysql -u root -p123456
或者
mysql>source /opt/004.sql
binlog日志相关及恢复数据
最新推荐文章于 2024-07-31 10:02:10 发布