入门客AI创业平台(我带你入门,你带我飞行)
博文笔记

binlog日志相关及恢复数据

创建时间:2016-10-17 投稿人: 浏览次数:686
 /*
  * 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:LAMPMYSQL5data>mysqlbinlog --start-position=4 --stop-position=106 yueliangdao_binglog.000001 > c:\test1.txt

//导入到文件
>D:LAMPMYSQL5data>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


声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。