1、mysqlbinlog
1.1、 mysqlbinlog作用: 解析mysqlbinlog日志
1.2、mysqlbinlog日志是什么?
在mysql数据库中的数据目录的下述文件:
mysql-bin.000001
mysql-bin.000002
mysql-bin.000003
mysql-bin.index
1.3、mysql的binlog日志作用:
mysql内部对mysql数据库有增删改等更新的内容的记录
1.4、查看mysqlbinlog的安装位置:
which binlog
1.5、binlog功能怎么打开:
grep log-bin /etc/my.cnf
2、备份:
2.1、备份000003时整个数据库的状态信息:
mysqlbinlog mysqlbinlog日志 >备份文件名
#mysqlbinlog mysql-bin.000003 >all.sql
2.2、拆库只备份000003时zdh数据库的状态信息:
mysqlbinlog -d 数据库名 mysqlbinlog日志 >备份文件名
#mysqlbinlog -d zdh mysql-bin.000003 >zdh.sql
2.3、指定开始和结束位置点和时间点备份:
2.3.1、指定开始和结束位置点备份:
mysqlbinlog mysqlbinlog日志 --start-position=开始点--stop-position=结束点 >备份文件名
less all.sql(可以看到
#at 365
#141016 17:13:05 server id 1 end_log_pos 456
insert into test values(5)
#at 456
#141016 17:13:06 erver id 1 end_log_pos 483
)
#mysqlbinlog mysql-bin.000003 --start-position=365 --stop-position=456 >r.sql
2.3.2、指定开始和结束时间点备份:(不推荐,不准确)
mysqlbinlog mysqlbinlog日志 --start-datatime=开始时间--stop-datatime=结束时间 >备份文件名
less all.sql(可以看到
#at 365
#141016 17:13:05 server id 1 end_log_pos 456
insert into test values(5)
#at 456
#141016 17:13:06 erver id 1 end_log_pos 483
)
#mysqlbinlog mysql-bin.000003 --start-datatime='2017-06-21 17:13:05'--stop-datatime='2017-06-21 17:13:06' >r1.sql
3、总结:
-d 截取指定数据库的binlog
按照位置截取:#mysqlbinlog mysql-bin.000003 --start-position=365 --stop-position=456 >r.sql
按照时间截取:#mysqlbinlog mysql-bin.000003 --start-datatime='2017-06-21 17:13:05'--stop-datatime='2017-06-21 17:13:06' >r1.sql
1.1、 mysqlbinlog作用: 解析mysqlbinlog日志
1.2、mysqlbinlog日志是什么?
在mysql数据库中的数据目录的下述文件:
mysql-bin.000001
mysql-bin.000002
mysql-bin.000003
mysql-bin.index
1.3、mysql的binlog日志作用:
mysql内部对mysql数据库有增删改等更新的内容的记录
1.4、查看mysqlbinlog的安装位置:
which binlog
1.5、binlog功能怎么打开:
grep log-bin /etc/my.cnf
2、备份:
2.1、备份000003时整个数据库的状态信息:
mysqlbinlog mysqlbinlog日志 >备份文件名
#mysqlbinlog mysql-bin.000003 >all.sql
2.2、拆库只备份000003时zdh数据库的状态信息:
mysqlbinlog -d 数据库名 mysqlbinlog日志 >备份文件名
#mysqlbinlog -d zdh mysql-bin.000003 >zdh.sql
2.3、指定开始和结束位置点和时间点备份:
2.3.1、指定开始和结束位置点备份:
mysqlbinlog mysqlbinlog日志 --start-position=开始点--stop-position=结束点 >备份文件名
less all.sql(可以看到
#at 365
#141016 17:13:05 server id 1 end_log_pos 456
insert into test values(5)
#at 456
#141016 17:13:06 erver id 1 end_log_pos 483
)
#mysqlbinlog mysql-bin.000003 --start-position=365 --stop-position=456 >r.sql
2.3.2、指定开始和结束时间点备份:(不推荐,不准确)
mysqlbinlog mysqlbinlog日志 --start-datatime=开始时间--stop-datatime=结束时间 >备份文件名
less all.sql(可以看到
#at 365
#141016 17:13:05 server id 1 end_log_pos 456
insert into test values(5)
#at 456
#141016 17:13:06 erver id 1 end_log_pos 483
)
#mysqlbinlog mysql-bin.000003 --start-datatime='2017-06-21 17:13:05'--stop-datatime='2017-06-21 17:13:06' >r1.sql
3、总结:
-d 截取指定数据库的binlog
按照位置截取:#mysqlbinlog mysql-bin.000003 --start-position=365 --stop-position=456 >r.sql
按照时间截取:#mysqlbinlog mysql-bin.000003 --start-datatime='2017-06-21 17:13:05'--stop-datatime='2017-06-21 17:13:06' >r1.sql