mysql二进制日志百度百科_MySQL二进制日志功能介绍

2 use test/*!*/;

3 SET TIMESTAMP=1247476808/*!*/;

4 SET @@session.pseudo_thread_id=1/*!*/;

5 SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1,

@@session.unique_checks=1, @@session.autocommit=1/*!*/;

6 SET @@session.sql_mode=0/*!*/;

7 SET @@session.auto_increment_increment=1,

@@session.auto_increment_offset=1/*!*/;

8 /*!\C latin1 *//*!*/;

9 SET @@session.character_set_client=8,

@@session.collation_connection=8,@@session.collation_server=8/*!*/;

10 SET @@session.lc_time_names=0/*!*/;

11 SET @@session.collation_database=DEFAULT/*!*/;

12 insert into t values (‘12345‘)

13 /*!*/;

14 # at 199

...

从第1~14行记录了一条对数据库更改操作的SQL语句(第12行):insert into t values (‘12345‘)。第1行记录内容如表11-6所示。

表11-6  记录内容说明

20180110231629126632.png

日志的第2行表示切换到MySQL服务器的test数据库。第3~11行设置当前会话的一些环境变量,例如是否自动提交(session.autocommit)、是否检查外键约束(session.foreign_key_ checks)等。如果需要了解它们详细的参数和说明,可以参考MySQL使用手册的第5章第1小节。

日志第12行为该条记录的核心,即对数据库进行了更改操作的SQL语句(insert into t values (‘12345‘))。日志第14行表示该条日志记录的结束。

以上分析了MySQL二进制日志如何记录一条对数据库进行更改的SQL语句,对于其他SQL语句的记录格式与上面的类似。

前面提到,每次MySQL启动时,日志文件顺序会自动加1。例如当前二进制日志文件名为:jason2-bin.000001,停止并重启动MySQL后,二进制日志文件名为jason2-bin.000002,新的更改数据库的操作将被记录到新的文件中。旧的二进制日志文件用于进行数据库的复制或者恢复。

默认情况下,在数据库目录下还有一个索引文件用来记录已经使用的二进制日志文件的名字,该索引文件的名字为"hostname-bin.index"。下面是索引文件的内容:

jason@jason2:~/mysql-bin/var> more jason2-bin.index

./jason2-bin.000001

./jason2-bin.000002

索引文件最后一行表示当前正在使用的二进制日志名字。

MySQL二进制日志功能介绍

标签:efault   mysql服务器   记录   base   切换   参数   amp   session   服务器

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:http://www.cnblogs.com/wangchaowei/p/6837040.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值