​了解MySQL 的二进制日志文件​Binlog

1. SQL 语句的几种类型 

        首先介绍一下,对于一个 
SQL 语句,它常常被分为以下几种类型:

  • DDL(Data Definition Language,数据定义语言)用来操作数据库、表、列等,比如 CREATE、ALTER、DROP。
  • DML( Data Manipulation Language,数据操作语言  )用来操作表里的数据,比如 INSERT、UPDATE、DELETE。
  • DCL( Data Control Language,数据控制语言): 用来操作访问权限等,比如 GRANT
  • DQL( Data Query Language,数据查询语言):用来查询数据,比如 SELECT。
  • TCL( Transaction Control Language,事务控制语言):用于数据库的事务管理,比如 COMMIT,ROLLBACK。

        而 binlog,即 binary log,是 MySQL 的二进制日志文件,这个文件记录了我们所有的 DDL,DML,TCL 等操作,比如表的创建,数据的插入、更新和删除等。

        比如我们下面执行的创建数据库、表,插入、更新数据,在 binlog 配置开启的情况下,都会被记录到 binlog 中:

CREATE DATABASE db_test DEFAULT CHARACTER set utf8;

create table users (
 id int not null auto_increment primary key,
 name varchar(20) not null,
 email varchar(100) default ""
);

insert into users (name, email) values("张三", "12345@qq.com"), ("李四", "345123@qq.com");

update users set email = "4123@qq.com" where id=1;

2.binlog 配置和查看

2.1 binlog 查看配置

        我们可以通过下面的命令查看 binlog 日志是否打开,以及存储的文件夹:

show variables like '%log_bin%';

        显示的内容如下:

        其主要字段含义分别如下:

  1. log_bin 表示是否开启 binlog。
  2. log_bin_basename 表示的是 binlog 所在的文件夹。
  3. log_bin_index 表示的是 binlog 的索引文件,我们可以在其中找到所有的 binlog 日志。

  4.  sql_log_bin用于主从复制,这个参数关闭后,主库的改动不会记录到 binlog,不会复制到从库。

        log_bin_basename 指向的是 binlog 存储的文件夹,在后面我们查看 binlog 具体内容的时候,会需要进入到这个文件夹进行查看。

2.2 binlog 查看

        我们可以通过下面的命令查看全部的 binlog 文件,在这里,一个 binlog 版本就是一个文件:

show binary logs;

show master logs;

        上面这两条命令都可以显示出 binlog 文件,内容显示如下:

  • 11
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值