Heim > Datenbank > MySQL-Tutorial > Hauptteil

mysql 基于binlog进行恢复

WBOY
Freigeben: 2016-06-07 15:33:32
Original
1474 Leute haben es durchsucht

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

1.binlog日志打开方法

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

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

命令:show binary logs

mysql 基于binlog进行恢复

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

命令:show binlog events

mysql 基于binlog进行恢复

以后每次对表的相关操作时候,这个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


Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage