MySQL 5.7开启并查看biglog的详细教程

 更新时间:2024年03月14日 09:23:51   作者:老王聊技术  
binlog 就是binary log,二进制日志文件,这个文件记录了MySQL所有的DML操作,通过binlog日志我们可以做数据恢复,增量备份,主主复制和主从复制等等,本文给大家介绍了MySQL 5.7开启并查看biglog的详细教程,需要的朋友可以参考下
(福利推荐:【腾讯云】服务器最新限时优惠活动,云服务器1核2G仅99元/年、2核4G仅768元/3年,立即抢购>>>:9i0i.cn/qcloud

(福利推荐:你还在原价购买阿里云服务器?现在阿里云0.8折限时抢购活动来啦!4核8G企业云服务器仅2998元/3年,立即抢购>>>:9i0i.cn/aliyun

biglog简介

binlog 就是binary log,二进制日志文件,这个文件记录了MySQL所有的DML操作。通过binlog日志我们可以做数据恢复,增量备份,主主复制和主从复制等等。

binlog使用详细步骤

1.修改mysql配置文件

vi /etc/my.cnf

[mysqld]下增加如下配置

 
log-bin=mysql-bin
server-id=1

说明:log-bin指定了binlog的前缀名,server-id必须唯一且不同于其他MySQL服务器

2.重启mysql

centos重启示例

systemctl restart mysqld

3.操作数据库

往数据库中的某个表新增一条记录或者创建表都会往biglog文件中写入内容

4.查看binglog

cd /var/lib/mysql/mysql-bin
ll -la

可以看到会有类似mysql-bin.000001的文件生成

drwxr-x--x.  6 mysql mysql     4096 3月  13 22:44 .
drwxr-xr-x. 27 root  root      4096 8月  29 2023 ..
-rw-r-----.  1 mysql mysql       56 8月  29 2023 auto.cnf
-rw-------.  1 mysql mysql     1680 8月  29 2023 ca-key.pem
-rw-r--r--.  1 mysql mysql     1112 8月  29 2023 ca.pem
-rw-r--r--.  1 mysql mysql     1112 8月  29 2023 client-cert.pem
-rw-------.  1 mysql mysql     1680 8月  29 2023 client-key.pem
-rw-r-----.  1 mysql mysql      283 3月  13 22:40 ib_buffer_pool
-rw-r-----.  1 mysql mysql 12582912 3月  13 22:42 ibdata1
-rw-r-----.  1 mysql mysql 50331648 3月  13 22:42 ib_logfile0
-rw-r-----.  1 mysql mysql 50331648 8月  29 2023 ib_logfile1
-rw-r-----.  1 mysql mysql 12582912 3月  13 22:42 ibtmp1
drwxr-x---.  2 mysql mysql     4096 8月  29 2023 mysql
-rw-r-----.  1 mysql mysql      962 3月  13 22:42 mysql-bin.000001
-rw-r-----.  1 mysql mysql       19 3月  13 22:40 mysql-bin.index
srwxrwxrwx.  1 mysql mysql        0 3月  13 22:40 mysql.sock
-rw-------.  1 mysql mysql        5 3月  13 22:40 mysql.sock.lock
drwxr-x---.  2 mysql mysql     8192 8月  29 2023 performance_schema
-rw-------.  1 mysql mysql     1680 8月  29 2023 private_key.pem
-rw-r--r--.  1 mysql mysql      452 8月  29 2023 public_key.pem
-rw-r--r--.  1 mysql mysql     1112 8月  29 2023 server-cert.pem
-rw-------.  1 mysql mysql     1680 8月  29 2023 server-key.pem
drwxr-x---.  2 mysql mysql     8192 8月  29 2023 sys
drwxr-x---.  2 mysql mysql       58 3月  13 22:41 test

直接查看binlog可以看到有很多乱码

正确查看方式是使用命令查看

4.1mysqlbinlog示例:

mysqlbinlog -v /var/lib/mysql/mysql-bin.000001

也可以把内容写入到文件中

4.2mysqlbinlog将biglog写入文件示例:

 mysqlbinlog -v /var/lib/mysql/mysql-bin.000001 > /opt/mysql-bin-000001.txt

示例中将binlog写入了文件 /opt/mysql-bin-000001.txt中

此时,查看文件/opt/mysql-bin-000001.txt就没有乱码了,但是和执行sql还是有差异的

4.2.1创建表生成的biglog示例:

#240313 22:41:55 server id 1  end_log_pos 667 CRC32 0x5b0f29d8  Query   thread_id=3     exec_time=0     error_code=0
use `test`/*!*/;
SET TIMESTAMP=1710340915/*!*/;
CREATE TABLE `test`.`t_table`  (^M
  `id` int(0) NOT NULL,^M
  `name` varchar(255) NULL,^M
  `address` varchar(255) NULL,^M
  `create_time` datetime(0) NULL,^M
  `update_time` datetime(0) NULL,^M
  PRIMARY KEY (`id`)^M
)

说明,第一行是时间戳,240313表示2024年3月13日

22:41:55表示具体时间

下面是创建表语句

4.2.2插入表生成的biglog示例

#240313 22:42:19 server id 1  end_log_pos 931 CRC32 0x038eed84  Write_rows: table id 101 flags: STMT_END_F
 
BINLOG '
S7vxZRMBAAAAPAAAAGADAAAAAGUAAAAAAAEABHRlc3QAB3RfdGFibGUABQMPDxISBv8A/wAAAB7D
vV1G
S7vxZR4BAAAAQwAAAKMDAAAAAGUAAAAAAAEAAgAF/+ABAAAACHpoYW5nc2FuB2JlaWppbmeZsttq
jpmy22qRhO2OAw==
'/*!*/;
### INSERT INTO `test`.`t_table`
### SET
###   @1=1
###   @2='zhangsan'
###   @3='beijing'
###   @4='2024-03-13 22:42:14'
###   @5='2024-03-13 22:42:17'
# at 931
#240313 22:42:19 server id 1  end_log_pos 962 CRC32 0xb2c0a6e7  Xid = 62
COMMIT/*!*/;

4.2.3更新表biglog示例

#240313 23:04:34 server id 1  end_log_pos 1558 CRC32 0xfbe11994         Update_rows: table id 102 flags: STMT_END_F
 
BINLOG '
gsDxZRMBAAAAPAAAAKUFAAAAAGYAAAAAAAEABHRlc3QAB3RfdGFibGUABQMPDxISBv8A/wAAAB6l
yfEH
gsDxZR8BAAAAcQAAABYGAAAAAGYAAAAAAAEAAgAF///gAQAAAAh6aGFuZ3NhbgdiZWlqaW5nmbLb
ao6ZsttqkeABAAAADHpoYW5nc2FuLTg4OBBiZWlqaW5nLWNoYW95YW5nmbLbao6ZsttxIpQZ4fs=
'/*!*/;
### UPDATE `test`.`t_table`
### WHERE
###   @1=1
###   @2='zhangsan'
###   @3='beijing'
###   @4='2024-03-13 22:42:14'
###   @5='2024-03-13 22:42:17'
### SET
###   @1=1
###   @2='zhangsan-888'
###   @3='beijing-chaoyang'
###   @4='2024-03-13 22:42:14'
###   @5='2024-03-13 23:04:34'

特别说明:where与set之间都是原始值,set后面都是更新后的值

到此这篇关于MySQL 5.7开启并查看biglog的详细教程的文章就介绍到这了,更多相关MySQL 5.7开启并查看biglog内容请搜索程序员之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持程序员之家!

相关文章

  • MySQL数据备份、还原、数据库迁移以及表的导出和导入

    MySQL数据备份、还原、数据库迁移以及表的导出和导入

    作为流行的开源数据库管理系统,MySQL的使用者众多,为了维护数据安全性,数据备份是必不可少的,下面这篇文章主要给大家介绍了关于MySQL数据备份、还原、数据库迁移以及表的导出和导入的相关资料,需要的朋友可以参考下
    2022-11-11
  • MySQL笔记之连接查询详解

    MySQL笔记之连接查询详解

    连接查询是将两个或两个以上的表按某个条件连接起来,从中选取需要的数据
    2013-05-05
  • mysql查询慢的原因和解决方案

    mysql查询慢的原因和解决方案

    最近发现公司网站后台查询的时候比较慢,可能因为大量的like查询导致,这里为大家分享一下方法,需要的朋友可以参考下
    2019-09-09
  • MySQL数字的取整、四舍五入、保留n位小数方式

    MySQL数字的取整、四舍五入、保留n位小数方式

    这篇文章主要介绍了MySQL数字的取整、四舍五入、保留n位小数方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • MySQL系列之一 MariaDB-server安装

    MySQL系列之一 MariaDB-server安装

    本文主要介绍了MariaDB-server安装的几种方式,文中通过代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-07-07
  • 深入分析MySQL 的备份和恢复机制

    深入分析MySQL 的备份和恢复机制

    备份对于数据库来说是相当重要的工作。如果数据库在使用过程中出现了问题,比如系统崩溃、硬件故障或错误的删除了数据。这时,如果我们进行了数据备份,就能比较方便的使数据库恢复工作,并使我们的数据损失到最小。下面我们来详细探讨下数据库的备份与恢复。
    2016-11-11
  • MySQL中三种关联查询方式的简单比较

    MySQL中三种关联查询方式的简单比较

    这篇文章主要介绍了MySQL中三种关联查询方式的简单比较,即ON和USING还有传统的FROM...WHERE...,需要的朋友可以参考下
    2015-06-06
  • MySql中的连接查询问题

    MySql中的连接查询问题

    这篇文章主要介绍了MySql中的连接查询问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03
  • 总结MySQL修改最大连接数的两个方式

    总结MySQL修改最大连接数的两个方式

    最大连接数是可以通过mysql进行修改的,mysql数据库修改最大连接数常用有两种方法,今天我们分析一下这两种方法之间的特点和区别,以便我们能更好的去维护mysql。下面我们来看一下mysql修改最大连接数的方法,希望文章能够帮助到各位朋友。
    2016-08-08
  • mysql 获取规定时间段内的统计数据

    mysql 获取规定时间段内的统计数据

    这篇文章主要介绍了mysql 获取规定时间段内的统计数据的相关资料,需要的朋友可以参考下
    2017-05-05

最新评论

?


http://www.vxiaotou.com