一个有意思的场景:
mysql>显示数据库;
+ - - - - - - - - - - - - - - - - - - - - - - +
|数据库,,,,,|
+ - - - - - - - - - - - - - - - - - - - - - - +
| information_schema |
| ZLECUBE,,,,,,|
|日志,,,,,,,,|
| mysql,,,,,,,|
| performance_schema |
+ - - - - - - - - - - - - - - - - - - - - - - +
5行组(0.00秒)
mysql>,
mysql>,
mysql>创建数据库测试;
查询好了,1行影响(0.00秒)
mysql>,
mysql>使用测试;
数据库改变mysql>,
mysql>,
mysql>创建表aa (int id);
查询好,0行影响(0.03秒)
mysql>,
mysql>刷新日志;
查询好,0行影响(0.00秒)
mysql>\ q
root@debian再见:/var/lib/mysql/日志/binlog # ls - l
总56
-rw-rw mysql mysql——150 2月,3 mysql-bin世界时间。000017
-rw-rw mysql mysql——150, 2月4日19:25 mysql-bin。000018
-rw-rw mysql mysql——150, 2月5日19:25 mysql-bin。000019
-rw-rw mysql mysql——150, 2月6日19:25 mysql-bin。000020年
-rw-rw mysql mysql——150, 2月7日15:04 mysql-bin。000021年
-rw-rw mysql mysql——314, 2月7日19:25 mysql-bin。000022年
-rw-rw mysql mysql——150, 2月8日19:25 mysql-bin。000023年
-rw-rw mysql mysql——150, 2月9日19:25 mysql-bin。000024年
-rw-rw mysql mysql——150 2月10 mysql-bin世界时间。000025
-rw-rw mysql mysql——150 2月11日19:25 mysql-bin。000026年
-rw-rw mysql mysql——150 2月12日19:25 mysql-bin。000027
-rw-rw mysql mysql——319 2月13日15:08 mysql-bin。000028
-rw-rw mysql mysql——107 2月13日15:08 mysql-bin。000029
-rw-rw mysql mysql——559 2月13日15:08 mysql-bin。指数
root@debian:/var/lib/mysql/日志/binlog # mysqlbinlog mysql-bin。000028年
找到如下的信息:
107
# # 170213 15:08:21服务器id 1, end_log_pos 190 Querythread_id=1435 exec_time=0 error_code=0
设置时间戳=1486969701/* ! */;
设置@@session.pseudo_thread_id=1435/* ! */;
@@session设置。@@session foreign_key_checks=1。@@session sql_auto_is_null=0。unique_checks=1, @@session.autocommit=1/* ! */;
设置@@session.sql_mode=0/* ! */;
@@session设置。auto_increment_increment=1, @@session.auto_increment_offset=1/* ! */;
/* !\ C utf8 *//* ! */;
设置@@session.character_set_client=33, @@session.collation_connection=33, @@session.collation_server=8/* ! */;
设置@@session.lc_time_names=0/* ! */;
设置@@session.collation_database=默认/* ! */;
创建数据库测试
/* ! */;
190
# # 170213 15:08:39服务器id 1, end_log_pos 276 Querythread_id=1435 exec_time=1 error_code=0
使用“测试”/* ! */;
设置时间戳=1486969719/* ! */;
create table aa (id int)
/* ! */;
276
# # 170213 15:08:56服务器id 1, end_log_pos mysql-bin 319旋转。000029年,pos: 4
分隔符;
#结束日志文件
删除刚刚的测试库
mysql>减少数据库测试;
查询好了,1行受影响(0.01秒)
mysql>\ q
再见
现在进行恢复:
root@debian:/var/lib/mysql/日志/binlog # mysqlbinlog——起始位置=190停止位置=319,mysql-bin。000028 | mysql -uroot -pxxx
root@debian:/var/lib/mysql/日志/binlog #,
mysql>显示表;
+ - - - - - - - - - - - - - - - - - +
| Tables_in_test |
+ - - - - - - - - - - - - - - - - - +
| aa,,,,,,|
+ - - - - - - - - - - - - - - - - - +
1行组(0.00秒)
mysql>,
已恢复。
可以重复恢复。
mysql>从aa select count (*),
+ - - - - - - - - - - - +
| count (*) |
+ - - - - - - - - - - - +
|,,,,4 |
+ - - - - - - - - - - - +
root@debian:/var/lib/mysql/日志/binlog # mysqlbinlog——起始位置=793,,停止位置=1093,mysql-bin。000029 | mysql -uroot -pxxx
root@debian:/var/lib/mysql/日志/binlog #,
只恢复从日志位置793到1093的信息,这里面有有两个插入记录。
mysql>从aa select count (*),
+ - - - - - - - - - - - +
| count (*) |
+ - - - - - - - - - - - +
|,,,,6 |
+ - - - - - - - - - - - +
1行组(0.00秒)