视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
mysql基于binlog进行恢复
2020-11-09 07:54:52 责编:小采
文档


1.binlog 日志打开方法 在 my.cnf 这个文件中加一行( Windows 为 my.ini )。 #vi /etc/my.cnf [mysqld] log-bin=mysqlbin-log # 添加这一行就 ok 了 = 号后面的名字自己定义吧 然后我们可以对数据库做简单的操作后到 mysql 数据文件所在的目录来看 binlog

1.binlog日志打开方法

在my.cnf这个文件中加一行(Windows为my.ini)。
#vi /etc/my.cnf
[mysqld]
log-bin=mysqlbin-log #添加这一行就ok了=号后面的名字自己定义吧
然后我们可以对数据库做简单的操作后到mysql数据文件所在的目录来看binlog文件。

2. 查看自己的BINLOG的名字是什么

命令:show binary logs


3. 做了几次操作后,它就记录了下来。

命令:show binlog events


以后每次对表的相关操作时候,这个File_size都会增大。

4. 用mysqlbinlog 工具来显示记录的二进制结果,然后导入到文本文件,为了以后的恢复。

详细过程如下:
C:\Program Files\MySQL\MySQL Server 5.0\bin>mysqlbinlog --start-position=4 --sto

p-position=106 mysqlbin-log.000001 > c:\\test1.txt

或者全部导出:

C:\Program Files\MySQL\MySQL Server 5.0\bin>mysqlbinlog mysqlbin-log.000001 > c:\\test1.txt

test1.txt的文件内容:

;

;

DELIMITER ;

# at 4

#110916 9:51:06 server id 1 end_log_pos 98 Start: binlog v 4, server v 5.0.45-community-nt-log created 110916 9:51:06 at startup

# Warning: this binlog was not closed properly. Most probably mysqld crashed writing it.

ROLLBACK;

# at 98

#110916 10:11:21 server id 1 end_log_pos 28 Intvar

SET INSERT_ID=2;

# at 126

#110916 10:11:21 server id 1 end_log_pos 143 Query thread_id=2 exec_time=0 error_code=0

use test;

SET TIMESTAMP=1316139081;

SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1;

SET @@session.sql_mode=1344274432;

;

SET @@session.character_set_client=33,@@session.collation_connection=33,@@session.collation_server=8;

insert into User (name,password) values('ddd','222');

DELIMITER ;

# End of log file

ROLLBACK ;

;

5. 导入结果到MYSQL中进行数据恢复。

C:\Program Files\MySQL\MySQL Server 5.0\bin>mysqlbinlog --start-position=134 --stop-position=330 mysqlbin-log.000001 | mysql -uroot -p

或者

C:\Program Files\MySQL\MySQL Server 5.0\bin>mysqlbinlog --start-position=134 --stop-position=330 mysqlbin-log.000001 >test1.txt

进入MYSQL导入

mysql> source c:\\test1.txt

还有一种办法是根据日期来恢复

C:\Program Files\MySQL\MySQL Server 5.0\bin >mysqlbinlog --start-datetime="2009-09-14 0:20:00" --stop-datetim="2009-09-15 01:25:00" /diskb/bin-logs/xxx_db-bin.000001 | mysql -u root

6、查看数据

Select * from User

下载本文
显示全文
专题