首页 技术 正文
技术 2022年11月14日
0 收藏 612 点赞 3,345 浏览 3488 个字

binlog介绍

 

1、什么是binlog

binlog是一个二进制格式的文件,用于记录用户对数据库更新的SQL语句信息,例如更改数据库表和更改内容的SQL语句都会记录到binlog里,但是对库表等内容的查询不会记录

默认情况下,binlog日志是二进制格式的,不能使用查看文本工具的命令(比如,cat,vi等)查看,而使用mysqlbinlog解析查看。

2.binlog的作用

当有数据写入到数据库时,还会同时把更新的SQL语句写入到对应的binlog文件里,这个文件就是上文说的binlog文件。使用mysqldump备份时,只是对一段时间的数据进行全备,但是如果备份后突然发现数据库服务器故障,这个时候就要用到binlog的日志了。

主要作用是用于数据库的主从复制及数据的增量恢复。

1.啥是binlog? 记录数据库增删改,不记录查询的二进制日志.2.作用:用于数据恢复.

3、如何开启binlog日志功能

在mysql的配置文件my.cnf中,增加log_bin参数即可开启binlog日志,也可以通过赋值来指定binlog日志的文件名,实例如下:

[转帖]Mysql binlog 介绍

[root@DB02 ~]# grep log_bin /etc/my.cnflog_bin = /application/mysql/logs/dadong-bin# log_bin[root@DB02 ~]#提示:也可以按“log_bin = /application/mysql/logs/dadong-bin”命名,目录要存在为什么要刷新binlog?找到全备数据和binlog文件的恢复临界点.

[转帖]Mysql binlog 介绍

4、 如何配置binlog

[转帖]Mysql binlog 介绍

[root@db02 ~]# mkdir /application/mysql/logs[root@db02 ~]# chown -R mysql.mysql /application/mysql/logs开启binlog编辑/etc/my.cnf[mysqld]log_bin = /application/mysql/logs/dadong-bin重启:/etc/init.d/mysqld restart[root@db02 ~]# ll /application/mysql/logs/total 8-rw-rw---- 1 mysql mysql 120 Jun 21 12:04 dadong-bin.000001-rw-rw---- 1 mysql mysql  42 Jun 21 12:04 dadong-bin.index如何刷新每天晚上0点备份数据库mysqldump -A -B -F >/opt/$(date +%F).sql[root@db02 ~]# ll /application/mysql/logs/-rw-rw---- 1 mysql mysql 168 Jun 21 12:06 dadong-bin.000001-rw-rw---- 1 mysql mysql 168 Jun 21 12:06 dadong-bin.000002-rw-rw---- 1 mysql mysql 210 Jun 21 12:07 dadong-bin.index提示:每个库刷新一次.

[转帖]Mysql binlog 介绍

5、mysql工具mysqlbinlog常用参数

mysqlbinlog命令常用参数

参数说明

d ,–database=name

根据指定库拆分binlog(拆分单表binlog通过SQL关键字过滤

r ,–result-file=name

指定解析binlog输出SQL语句的文件

R,–read-from-remote-server

mysql服务器读取binlog日志,是下面参数的别名

j,–start-position=#

读取binlog的起始位置点,#号是具体的位置点

-stop-position=#

读取binlog的停止位置点,#号是具体的位置点

-start-datetime=name

读取binlog的起始位置点,name具体的时间,格式为2004-12-25 11:25:26

–stop-datetime=name

读取binlog的停止位置点,name是具体的时间,格式为:2004-12-25 11:25:26

-base64-output=decode-rows

解析row级别binlog日志的方法例如:mysqlbinlog  –base64-output=decode-rows -v  mysqlbin.000016

例子:

例:mysqlbinlog -d dadong dadong-bin.000001 dadong-bin.000002 -r bin.log   ##利用mysqlbinlog解析binlog文件到bin.log中。利用mysqlbinlog  -d参数详解指定库的binlog日志-d 指定解析dadong数据库,-r 接卸成sql语句,指定生成的文件

mysqlbinlog可以指定-d实现分库导出binlog,如果使用-d参数,那更新数据时,必须有use库名,才能分出指定库的binlog,列如,写入数据库的语句必须采用下面写法:

use  daong;insert into test values(1,'dongdong')

6、获取binlog内容

6.1、按照位置截取binlog内容

按照位置截取binlog内容的优点是精确,但是要花费时间选择位置,例如:要截取dadong-bin.000009文件从位置365到位置465的日志,命令如下:

[转帖]Mysql binlog 介绍

[root@DB02 ~]# mysqlbinlog dadong-bin.000009 --start-position=365 --stop-position=465 -r pos.sql提示:开始位置必须存在binlog里,结尾位置点可以不存在。若指定了开始位置,不指定结束位置,则会截取开始处到结尾的binlog日志:mysqlbinlog dadong-bin.000009 --start-position=365  -r pos.sql若指定了结束位置,不指定开始位置,则截取最开始到最后面的全部binlog日志:mysqlbinlog dadong-bin.000009  --stop-position=465 -r pos.sql所谓的位置点,就是mysqlbinlog解析文件里的不同行行首的“#at 数字”标识的数据。

[转帖]Mysql binlog 介绍

例子:

[转帖]Mysql binlog 介绍

mysqlbinlog dadong-bin.000009 --start-position=365 --stop-position=456 -r pos.sqlmysqlbinlog dadong-bin.000005 --start-position=2265 --stop-position=2552 -r pos.sqlmysqlbinlog dadong-bin.000009 --start-position=365 --stop-position=456 -r pos.sqlmysqlbinlog dadong-bin.000009 --start-position=365 -r pos.sqlmysqlbinlog dadong-bin.000009 --stop-position=456 -r pos.sql截取部分binlog根据posmysqlbinlog dadong-bin.000009 --start-position=365 --stop-position=456 -r pos.sqlmysqlbinlog dadong-bin.000009 --start-position=365 -r pos.sqlmysqlbinlog dadong-bin.000009 --stop-position=456 -r pos.sql截取部分binlog根据时间mysqlbinlog dadong-bin.000009 --start-datetime='2014-10-16 17:14:15' --stop-datetime='2014-10-16 17:15:15' -r time.sqlmysqlbinlog dadong-bin.000009 --start-datetime='2014-10-16 17:14:15'  -r time.sqlmysqlbinlog dadong-bin.000009  --stop-datetime='2014-10-16 17:15:15' -r time.sql

[转帖]Mysql binlog 介绍

[转帖]Mysql binlog 介绍

6.2、按时间位置截取binlog内容

通过时间参数截取部分binlog:–start-datetime=‘2017-10-16 17:14:25’ –stop-datetime=‘2017-10-16 17:18:30’

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,497
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,910
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,744
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,497
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:8,135
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:5,298