- 浏览: 587387 次
文章分类
最新评论
load data 方式导入的数据不可以用binlog日志进行恢复,因为binlog里面不产生insert sql语句。
里面有人问起这个问题: 用loaddata导入数据的时候,在binlog文件中记录的不是insert语句,这样的话,如果用loaddata导入数据,当需要恢复数据库的时候binlog恢复就不行了
load data local infile '/root/table.txt' into table test.table ;
生成binlog 日志
然后用mysqlbinlog解析binlog日志,再more查看如下:
# at 147405
#130718 3:15:02 server id 1 end_log_pos 147710 Query thread_id=97960 exec_time=0 error_code=0
use test/*!*/;
SET TIMESTAMP=1374117302/*!*/;
SET @@session.sql_mode=0/*!*/;
/*!\C utf8 *//*!*/;
SET @@session.character_set_client=33,@@session.collation_connection=33,@@session.collation_server=33/*!*/;
create table `test`.`table`(
`c1` varchar(20) ,
`c2` varchar(20) ,
`c3` varchar(20) ,
`c4` varchar(20) ,
`c5` varchar(20) ,
`c6` varchar(20) ,
`c7` varchar(20) ,
`c8` varchar(20) ,
`c9` varchar(20)
)
/*!*/;
# at 147710
#130718 3:17:14 server id 1 end_log_pos 147783 Query thread_id=98119 exec_time=2 error_code=0
SET TIMESTAMP=1374117434/*!*/;
SET @@session.sql_mode=4194304/*!*/;
BEGIN
/*!*/;
# at 147783
#130718 3:17:14 server id 1 end_log_pos 164190
#Begin_load_query: file_id: 1 block_len: 16384
# at 164190
#130718 3:17:14 server id 1 end_log_pos 180597
#Append_block: file_id: 1 block_len: 16384
# at 180597
#130718 3:17:14 server id 1 end_log_pos 197004
#Append_block: file_id: 1 block_len: 16384
# at 197004
#130718 3:17:14 server id 1 end_log_pos 213411
#Append_block: file_id: 1 block_len: 16384
# at 213411
#130718 3:17:14 server id 1 end_log_pos 229818
#Append_block: file_id: 1 block_len: 16384
# at 229818
#130718 3:17:14 server id 1 end_log_pos 246225
#Append_block: file_id: 1 block_len: 16384
# at 246225
#130718 3:17:14 server id 1 end_log_pos 262632
#Append_block: file_id: 1 block_len: 16384
# at 262632
#130718 3:17:14 server id 1 end_log_pos 279039
#Append_block: file_id: 1 block_len: 16384
# at 279039
#130718 3:17:14 server id 1 end_log_pos 295446
#Append_block: file_id: 1 block_len: 16384
# at 295446
#130718 3:17:14 server id 1 end_log_pos 311853
#Append_block: file_id: 1 block_len: 16384
# at 311853
#130718 3:17:14 server id 1 end_log_pos 328260
#Append_block: file_id: 1 block_len: 16384
# at 328260
#130718 3:17:14 server id 1 end_log_pos 344667
#Append_block: file_id: 1 block_len: 16384
# at 344667
#130718 3:17:14 server id 1 end_log_pos 361074
#Append_block: file_id: 1 block_len: 16384
# at 361074
#130718 3:17:14 server id 1 end_log_pos 377481
#Append_block: file_id: 1 block_len: 16384
# at 377481
#130718 3:17:14 server id 1 end_log_pos 393888
#Append_block: file_id: 1 block_len: 16384
# at 393888
#130718 3:17:14 server id 1 end_log_pos 410295
#Append_block: file_id: 1 block_len: 16384
# at 410295
#130718 3:17:14 server id 1 end_log_pos 426702
#Append_block: file_id: 1 block_len: 16384
# at 426702
#130718 3:17:14 server id 1 end_log_pos 443109
#Append_block: file_id: 1 block_len: 16384
# at 443109
#130718 3:17:14 server id 1 end_log_pos 459516
#Append_block: file_id: 1 block_len: 16384
# at 459516
#130718 3:17:14 server id 1 end_log_pos 475923
#Append_block: file_id: 1 block_len: 16384
# at 475923
#130718 3:17:14 server id 1 end_log_pos 492330
#Append_block: file_id: 1 block_len: 16384
# at 492330
#130718 3:17:14 server id 1 end_log_pos 508737
#Append_block: file_id: 1 block_len: 16384
# at 508737
#130718 3:17:14 server id 1 end_log_pos 525144
#Append_block: file_id: 1 block_len: 16384
# at 525144
#130718 3:17:14 server id 1 end_log_pos 541551
#Append_block: file_id: 1 block_len: 16384
# at 541551
#130718 3:17:14 server id 1 end_log_pos 557958
#Append_block: file_id: 1 block_len: 16384
# at 557958
#130718 3:17:14 server id 1 end_log_pos 574365
#Append_block: file_id: 1 block_len: 16384
# at 574365
#130718 3:17:14 server id 1 end_log_pos 590772
#Append_block: file_id: 1 block_len: 16384
# at 590772
#130718 3:17:14 server id 1 end_log_pos 607179
#Append_block: file_id: 1 block_len: 16384
# at 607179
#130718 3:17:14 server id 1 end_log_pos 623586
#Append_block: file_id: 1 block_len: 16384
# at 623586
#130718 3:17:14 server id 1 end_log_pos 639993
#Append_block: file_id: 1 block_len: 16384
# at 639993
#130718 3:17:14 server id 1 end_log_pos 656400
#Append_block: file_id: 1 block_len: 16384
# at 656400
#130718 3:17:14 server id 1 end_log_pos 672807
#Append_block: file_id: 1 block_len: 16384
# at 672807
#130718 3:17:14 server id 1 end_log_pos 689214
#Append_block: file_id: 1 block_len: 16384
# at 689214
#130718 3:17:14 server id 1 end_log_pos 705621
#Append_block: file_id: 1 block_len: 16384
# at 705621
#130718 3:17:14 server id 1 end_log_pos 722028
#Append_block: file_id: 1 block_len: 16384
# at 722028
#130718 3:17:14 server id 1 end_log_pos 738435
#Append_block: file_id: 1 block_len: 16384
# at 738435
#130718 3:17:14 server id 1 end_log_pos 754842
#Append_block: file_id: 1 block_len: 16384
# at 754842
#130718 3:17:14 server id 1 end_log_pos 771249
#Append_block: file_id: 1 block_len: 16384
# at 771249
#130718 3:17:14 server id 1 end_log_pos 787656
#Append_block: file_id: 1 block_len: 16384
# at 787656
#130718 3:17:14 server id 1 end_log_pos 804063
#Append_block: file_id: 1 block_len: 16384
# at 804063
#130718 3:17:14 server id 1 end_log_pos 820470
#Append_block: file_id: 1 block_len: 16384
# at 820470
#130718 3:17:14 server id 1 end_log_pos 836877
#Append_block: file_id: 1 block_len: 16384
# at 836877
#130718 3:17:14 server id 1 end_log_pos 853284
#Append_block: file_id: 1 block_len: 16384
# at 853284
#130718 3:17:14 server id 1 end_log_pos 869691
#Append_block: file_id: 1 block_len: 16384
# at 869691
#130718 3:17:14 server id 1 end_log_pos 886098
#Append_block: file_id: 1 block_len: 16384
# at 886098
#130718 3:17:14 server id 1 end_log_pos 902505
#Append_block: file_id: 1 block_len: 16384
# at 902505
#130718 3:17:14 server id 1 end_log_pos 918912
#Append_block: file_id: 1 block_len: 16384
# at 918912
#130718 3:17:14 server id 1 end_log_pos 935319
#Append_block: file_id: 1 block_len: 16384
# at 935319
#130718 3:17:14 server id 1 end_log_pos 951726
#Append_block: file_id: 1 block_len: 16384
# at 951726
#130718 3:17:14 server id 1 end_log_pos 968133
#Append_block: file_id: 1 block_len: 16384
# at 968133
#130718 3:17:14 server id 1 end_log_pos 984540
#Append_block: file_id: 1 block_len: 16384
# at 984540
#130718 3:17:14 server id 1 end_log_pos 1000947
#Append_block: file_id: 1 block_len: 16384
# at 1000947
#130718 3:17:14 server id 1 end_log_pos 1017354
#Append_block: file_id: 1 block_len: 16384
# at 1017354
#130718 3:17:14 server id 1 end_log_pos 1033761
#Append_block: file_id: 1 block_len: 16384
# at 1033761
#130718 3:17:14 server id 1 end_log_pos 1050168
#Append_block: file_id: 1 block_len: 16384
# at 1050168
#130718 3:17:14 server id 1 end_log_pos 1066575
#Append_block: file_id: 1 block_len: 16384
# at 1066575
#130718 3:17:14 server id 1 end_log_pos 1082982
#Append_block: file_id: 1 block_len: 16384
# at 1082982
#130718 3:17:14 server id 1 end_log_pos 1099389
#Append_block: file_id: 1 block_len: 16384
# at 1099389
#130718 3:17:14 server id 1 end_log_pos 1115796
#Append_block: file_id: 1 block_len: 16384
# at 1115796
#130718 3:17:14 server id 1 end_log_pos 1132203
#Append_block: file_id: 1 block_len: 16384
# at 1132203
#130718 3:17:14 server id 1 end_log_pos 1148610
#Append_block: file_id: 1 block_len: 16384
# at 1148610
#130718 3:17:14 server id 1 end_log_pos 1165017
#Append_block: file_id: 1 block_len: 16384
# at 1165017
#130718 3:17:14 server id 1 end_log_pos 1181424
#Append_block: file_id: 1 block_len: 16384
# at 1181424
#130718 3:17:14 server id 1 end_log_pos 1197831
#Append_block: file_id: 1 block_len: 16384
# at 1197831
#130718 3:17:14 server id 1 end_log_pos 1214238
#Append_block: file_id: 1 block_len: 16384
# at 1214238
#130718 3:17:14 server id 1 end_log_pos 1230645
#Append_block: file_id: 1 block_len: 16384
# at 1230645
#130718 3:17:14 server id 1 end_log_pos 1247052
#Append_block: file_id: 1 block_len: 16384
# at 1247052
#130718 3:17:14 server id 1 end_log_pos 1263459
#Append_block: file_id: 1 block_len: 16384
# at 1263459
#130718 3:17:14 server id 1 end_log_pos 1279866
#Append_block: file_id: 1 block_len: 16384
# at 1279866
#130718 3:17:14 server id 1 end_log_pos 1296273
#Append_block: file_id: 1 block_len: 16384
# at 1296273
#130718 3:17:14 server id 1 end_log_pos 1312680
#Append_block: file_id: 1 block_len: 16384
# at 1312680
#130718 3:17:14 server id 1 end_log_pos 1329087
#Append_block: file_id: 1 block_len: 16384
# at 1329087
#130718 3:17:14 server id 1 end_log_pos 1345494
.........
#Append_block: file_id: 1 block_len: 16384
# at 4298754
#130718 3:17:14 server id 1 end_log_pos 4315161
#Append_block: file_id: 1 block_len: 16384
# at 4315161
#130718 3:17:14 server id 1 end_log_pos 4331568
#Append_block: file_id: 1 block_len: 16384
# at 4331568
#130718 3:17:14 server id 1 end_log_pos 4347975
#Append_block: file_id: 1 block_len: 16384
# at 4347975
#130718 3:17:14 server id 1 end_log_pos 4364382
#Append_block: file_id: 1 block_len: 16384
# at 4364382
#130718 3:17:14 server id 1 end_log_pos 4380789
#Append_block: file_id: 1 block_len: 16384
# at 4380789
#130718 3:17:14 server id 1 end_log_pos 4397196
#Append_block: file_id: 1 block_len: 16384
# at 4397196
#130718 3:17:14 server id 1 end_log_pos 4413603
#Append_block: file_id: 1 block_len: 16384
# at 4413603
#130718 3:17:14 server id 1 end_log_pos 4430010
#Append_block: file_id: 1 block_len: 16384
# at 4430010
#130718 3:17:14 server id 1 end_log_pos 4446417
#Append_block: file_id: 1 block_len: 16384
# at 4446417
#130718 3:17:14 server id 1 end_log_pos 4462824
#Append_block: file_id: 1 block_len: 16384
# at 4462824
#130718 3:17:14 server id 1 end_log_pos 4479231
#Append_block: file_id: 1 block_len: 16384
# at 4479231
#130718 3:17:14 server id 1 end_log_pos 4495638
#Append_block: file_id: 1 block_len: 16384
# at 4495638
#130718 3:17:14 server id 1 end_log_pos 4512045
#Append_block: file_id: 1 block_len: 16384
# at 4512045
#130718 3:17:14 server id 1 end_log_pos 4528452
#Append_block: file_id: 1 block_len: 16384
# at 4528452
#130718 3:17:14 server id 1 end_log_pos 4544859
#Append_block: file_id: 1 block_len: 16384
# at 4544859
#130718 3:17:14 server id 1 end_log_pos 4561266
#Append_block: file_id: 1 block_len: 16384
# at 4561266
#130718 3:17:14 server id 1 end_log_pos 4577673
#Append_block: file_id: 1 block_len: 16384
# at 4577673
#130718 3:17:14 server id 1 end_log_pos 4594080
#Append_block: file_id: 1 block_len: 16384
# at 4594080
#130718 3:17:14 server id 1 end_log_pos 4610487
#Append_block: file_id: 1 block_len: 16384
# at 4610487
#130718 3:17:14 server id 1 end_log_pos 4626894
#Append_block: file_id: 1 block_len: 16384
# at 4626894
#130718 3:17:14 server id 1 end_log_pos 4643301
#Append_block: file_id: 1 block_len: 16384
# at 4643301
#130718 3:17:14 server id 1 end_log_pos 4659708
#Append_block: file_id: 1 block_len: 16384
# at 4659708
#130718 3:17:14 server id 1 end_log_pos 4676115
#Append_block: file_id: 1 block_len: 16384
# at 4676115
#130718 3:17:14 server id 1 end_log_pos 4692522
#Append_block: file_id: 1 block_len: 16384
# at 4692522
#130718 3:17:14 server id 1 end_log_pos 4708929
#Append_block: file_id: 1 block_len: 16384
# at 4708929
#130718 3:17:14 server id 1 end_log_pos 4725336
#Append_block: file_id: 1 block_len: 16384
# at 4725336
#130718 3:17:14 server id 1 end_log_pos 4735417
#Append_block: file_id: 1 block_len: 10058
# at 4735417
#130718 3:17:14 server id 1 end_log_pos 4735701 Execute_load_query thread_id=98119 exec_time=2 error_code=0
SET TIMESTAMP=1374117434/*!*/;
LOAD DATA LOCAL INFILE '/tmp/SQL_LOAD_MB-1-0' INTO TABLE `table` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`c1`, `c2`, `c3`, `
c4`, `c5`, `c6`, `c7`, `c8`, `c9`)
/*!*/;
# file_id: 1
# at 4735701
#130718 3:17:14 server id 1 end_log_pos 4735728 Xid = 297745
COMMIT/*!*/;
DELIMITER ;
# End of log file
ROLLBACK /* added by mysqlbinlog */;
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
确实没有insert之类的sql语句,当用binlog日志进行恢复的时候,会报错的,所以在生产环境上面,最好不要使用load data的方式进行数据导入。以免需要及时恢复数据的时候发生异常。
-- 察看binlog事件,会看到最后的load data local infile纪录.
mysql> show binlog events in "mysql-bin.000001"; ...... | mysql-bin.000001 | 4708929 | Append_block | 1 | 4725336 | ;file_id=1;block_len=16384 | | mysql-bin.000001 | 4725336 | Append_block | 1 | 4735417 | ;file_id=1;block_len=10058 | | mysql-bin.000001 | 4735417 | Execute_load_query | 1 | 4735701 | use `test`; LOAD DATA LOCAL INFILE '/root/table.txt' IGNORE INTO TABLE `table` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`c1`, `c2`, `c3`, `c4`, `c5`, `c6`, `c7`, `c8`, `c9`) ;file_id=1 | | mysql-bin.000001 | 4735701 | Xid | 1 | 4735728 | COMMIT /* xid=297745 */
-- 再察看从库数据也都同步复制过去了,再看从库的binlog日志
# at 31990800
#130718 11:15:02 server id 1 end_log_pos 31991105 Query thread_id=97960 exec_time=4294967292 error_code=0
use test/*!*/;
SET TIMESTAMP=1374117302/*!*/;
SET @@session.sql_mode=0/*!*/;
/*!\C utf8 *//*!*/;
SET @@session.character_set_client=33,@@session.collation_connection=33,@@session.collation_server=33/*!*/;
create table `test`.`table`(
`c1` varchar(20) ,
`c2` varchar(20) ,
`c3` varchar(20) ,
`c4` varchar(20) ,
`c5` varchar(20) ,
`c6` varchar(20) ,
`c7` varchar(20) ,
`c8` varchar(20) ,
`c9` varchar(20)
)
/*!*/;
# at 31991105
#130718 11:17:14 server id 1 end_log_pos 31991169 Query thread_id=98119 exec_time=4 error_code=0
SET TIMESTAMP=1374117434/*!*/;
SET @@session.sql_mode=4194304/*!*/;
BEGIN
/*!*/;
# at 31991169
#130718 11:17:14 server id 1 end_log_pos 34088344
#Begin_load_query: file_id: 1 block_len: 2097152
# at 34088344
#130718 11:17:14 server id 1 end_log_pos 36185519
#Append_block: file_id: 1 block_len: 2097152
# at 36185519
#130718 11:17:14 server id 1 end_log_pos 36572432
#Append_block: file_id: 1 block_len: 386890
# at 36572432
#130718 11:17:14 server id 1 end_log_pos 36572723 Execute_load_query thread_id=98119 exec_time=4 error_code=0
SET TIMESTAMP=1374117434/*!*/;
LOAD DATA LOCAL INFILE '/tmp/SQL_LOAD_MB-1-0' INTO TABLE `table` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`c1`, `c2`, `c3`, `c4`, `c5`, `c6`, `c7`, `c8`, `c9`)
/*!*/;
# file_id: 1
# at 36572723
#130718 11:17:14 server id 1 end_log_pos 36572750 Xid = 839475877
COMMIT/*!*/;
-- 再去主库从库上面的tmp目录察看临时文件存在情况,果然看到SQL_LOAD_MB-1-0文件存在.
[root@eanshlt2mydbc001db002 tmp]# ll -t /tmp/ |more
total 2212772
-rw-r----- 1 root root 4581194 Jul 18 11:46 SQL_LOAD_MB-1-0
疑惑之一:不过我看到binlog里面有这么一句,LOAD DATA LOCAL INFILE '/tmp/SQL_LOAD_MB-1-0' INTO TABLE `table` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`c1`, `c2`, `c3`, `
c4`, `c5`, `c6`, `c7`, `c8`, `c9`)
如果'/tmp/SQL_LOAD_MB-1-0'文件存在的话,是否可以从binlog进行数据恢复呢?
相关推荐
mysqlbinlog和binlog2sql的使用及mysql通过binlog日志恢复数据库数据
利用binlog还原sql或者恢复数据python工具binlog2sql
不会记录SELECT和SHOW这类操作,因为这类操作对数据本身并没有修改,但可以通过查询通用日志来查看MySQL执行过的所有语句。 需要注意的一点是,即便update操作没有造成数据变化,也是会记入binlog。 binlog有两个...
mysql-binlog是MySQL数据库的二进制日志,用于记录用户对数据库操作的SQL语句((除了数据查询语句)信息。可以使用mysqlbin命令查看二进制日志的内容。 binlog 的作用 用于数据库的主从复制及数据的增量恢复。 ...
本文主要通过实际操作说明对binlog日志恢复MySQL数据库删除数据的方法进行说明,内容主要包括MySQL数据库binlog日志查询、恢复等相关介绍,希望对大家在工作及生活中遇到的此类问题有所帮助,如需操作指导,可留言!
mysql服务设置; mysql数据库登录;使用binlog2sql工具进行数据bin查询, 数据恢复、操作撤销等;
通过binlog日志进行mysql数据恢复
通过binlog得到恢复数据的sql语句.md
通过binlog2sql这个工具可以将binlog的日志反解析成insert语句,这样就可以恢复你不小心删除的数据了
在数据丢失的紧急情况下,我们往往会想到用binlog日志功能进行数据恢复(定时全备份+binlog日志恢复增量数据部分),化险为夷! 废话不多说,下面是梳理的binlog日志操作解说: 一、初步了解binlog MySQL的二进制...
个人整理,mysql binlog 日志恢复
由于mysqlbinlog命令下无法筛选出某一个表的数据所以只能把日志文件全部导出
MySQL Binlog Digger是一个基于图形界面的MySQL Binlog挖掘分析工具,可以为数据恢复提供undo sql回滚语句,它免安装,能对在线binlog与离线binlog进行分析,在选定在线binlog(甚至分析到最新日志)或离线binlog日志...
传送门开启Binlog日志使用Binlog日志恢复数据启动Binlog利用binlog日志重做数据库操作通过binlog日志恢复表记录 开启Binlog日志 修改配置文件,并重启服务 vim /etc/my.cnf [mysqld] server_id=1 #指定server_id ...
my2sqlgo版MySQL binlog解析...分析主库执行SQL语句除了支持常规数据类型,对大部分工具不支持的数据类型做了支持,比如json、blob、text、emoji等数据类型sql生成产品性能对比binlog2sql当前是业界使用最广泛MySQL回
binlog日志转换sql之my2sql
生产上误删数据、误改数据的现象也是时常发生的现象,作为 DBA 这时候就需要出来补锅了,最开始的做法是恢复备份,然后从中找到需要的数据再进行修复,但是这个时间太长了,对于大表少数数据的修复来讲,动作太大,...
使用这种方式的前提必须有最近的备份集或者知道出现误操作起始的binlog 位点或者GTID,利用备份集恢复到中间的机器上,然后利用MySQL的slave 特性 START SLAVE [SQL_THREAD] UNTIL MASTER_LOG_FILE = ‘log_n
查看mysqlbinlog版本 mysqlbinlog -V [--version] 查看binlog日志开启状态 ...需要将日志文件mysql-bin.000011中关于数据库tide的sql语句导出到文件tide.sql中,进行如下操作: // 将binlog日志文件关于
最近线上误操作了一个数据,由于是直接修改的数据库,所有唯一的恢复方式就在mysql的binlog。binlog使用的是ROW模式,即受影响的每条记录都会生成一个sql。同时利用了binlog2sql项目。 MySQL Binary Log也就是常说的...