• mysql57开启biglog并查看biglog保姆级教程


    目录

    biglog简介

    binlog使用详细步骤

    1.修改mysql配置文件

    2.重启mysql

    3.操作数据库

    4.查看binglog

    4.1mysqlbinlog示例:

    4.2mysqlbinlog将biglog写入文件示例:

    4.2.1创建表生成的biglog示例:

    4.2.2插入表生成的biglog示例

    4.2.3更新表biglog示例


    biglog简介

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

    binlog使用详细步骤

    1.修改mysql配置文件

    vi /etc/my.cnf

    [mysqld]下增加如下配置

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

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

    2.重启mysql

    centos重启示例

    systemctl restart mysqld

    3.操作数据库

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

    4.查看binglog

    1. cd /var/lib/mysql/mysql-bin
    2. ll -la

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

    1. drwxr-x--x. 6 mysql mysql 4096 313 22:44 .
    2. drwxr-xr-x. 27 root root 4096 829 2023 ..
    3. -rw-r-----. 1 mysql mysql 56 829 2023 auto.cnf
    4. -rw-------. 1 mysql mysql 1680 829 2023 ca-key.pem
    5. -rw-r--r--. 1 mysql mysql 1112 829 2023 ca.pem
    6. -rw-r--r--. 1 mysql mysql 1112 829 2023 client-cert.pem
    7. -rw-------. 1 mysql mysql 1680 829 2023 client-key.pem
    8. -rw-r-----. 1 mysql mysql 283 313 22:40 ib_buffer_pool
    9. -rw-r-----. 1 mysql mysql 12582912 313 22:42 ibdata1
    10. -rw-r-----. 1 mysql mysql 50331648 313 22:42 ib_logfile0
    11. -rw-r-----. 1 mysql mysql 50331648 829 2023 ib_logfile1
    12. -rw-r-----. 1 mysql mysql 12582912 313 22:42 ibtmp1
    13. drwxr-x---. 2 mysql mysql 4096 829 2023 mysql
    14. -rw-r-----. 1 mysql mysql 962 313 22:42 mysql-bin.000001
    15. -rw-r-----. 1 mysql mysql 19 313 22:40 mysql-bin.index
    16. srwxrwxrwx. 1 mysql mysql 0 313 22:40 mysql.sock
    17. -rw-------. 1 mysql mysql 5 313 22:40 mysql.sock.lock
    18. drwxr-x---. 2 mysql mysql 8192 829 2023 performance_schema
    19. -rw-------. 1 mysql mysql 1680 829 2023 private_key.pem
    20. -rw-r--r--. 1 mysql mysql 452 829 2023 public_key.pem
    21. -rw-r--r--. 1 mysql mysql 1112 829 2023 server-cert.pem
    22. -rw-------. 1 mysql mysql 1680 829 2023 server-key.pem
    23. drwxr-x---. 2 mysql mysql 8192 829 2023 sys
    24. drwxr-x---. 2 mysql mysql 58 313 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示例:
    1. #240313 22:41:55 server id 1 end_log_pos 667 CRC32 0x5b0f29d8 Query thread_id=3 exec_time=0 error_code=0
    2. use `test`/*!*/;
    3. SET TIMESTAMP=1710340915/*!*/;
    4. CREATE TABLE `test`.`t_table` (^M
    5. `id` int(0) NOT NULL,^M
    6. `name` varchar(255) NULL,^M
    7. `address` varchar(255) NULL,^M
    8. `create_time` datetime(0) NULL,^M
    9. `update_time` datetime(0) NULL,^M
    10. PRIMARY KEY (`id`)^M
    11. )

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

    22:41:55表示具体时间

    下面是创建表语句

    4.2.2插入表生成的biglog示例
    1. #240313 22:42:19 server id 1 end_log_pos 931 CRC32 0x038eed84 Write_rows: table id 101 flags: STMT_END_F
    2. BINLOG '
    3. S7vxZRMBAAAAPAAAAGADAAAAAGUAAAAAAAEABHRlc3QAB3RfdGFibGUABQMPDxISBv8A/wAAAB7D
    4. vV1G
    5. S7vxZR4BAAAAQwAAAKMDAAAAAGUAAAAAAAEAAgAF/+ABAAAACHpoYW5nc2FuB2JlaWppbmeZsttq
    6. jpmy22qRhO2OAw==
    7. '/*!*/;
    8. ### INSERT INTO `test`.`t_table`
    9. ### SET
    10. ### @1=1
    11. ### @2='zhangsan'
    12. ### @3='beijing'
    13. ### @4='2024-03-13 22:42:14'
    14. ### @5='2024-03-13 22:42:17'
    15. # at 931
    16. #240313 22:42:19 server id 1 end_log_pos 962 CRC32 0xb2c0a6e7 Xid = 62
    17. COMMIT/*!*/;

    4.2.3更新表biglog示例
    1. #240313 23:04:34 server id 1 end_log_pos 1558 CRC32 0xfbe11994 Update_rows: table id 102 flags: STMT_END_F
    2. BINLOG '
    3. gsDxZRMBAAAAPAAAAKUFAAAAAGYAAAAAAAEABHRlc3QAB3RfdGFibGUABQMPDxISBv8A/wAAAB6l
    4. yfEH
    5. gsDxZR8BAAAAcQAAABYGAAAAAGYAAAAAAAEAAgAF///gAQAAAAh6aGFuZ3NhbgdiZWlqaW5nmbLb
    6. ao6ZsttqkeABAAAADHpoYW5nc2FuLTg4OBBiZWlqaW5nLWNoYW95YW5nmbLbao6ZsttxIpQZ4fs=
    7. '/*!*/;
    8. ### UPDATE `test`.`t_table`
    9. ### WHERE
    10. ### @1=1
    11. ### @2='zhangsan'
    12. ### @3='beijing'
    13. ### @4='2024-03-13 22:42:14'
    14. ### @5='2024-03-13 22:42:17'
    15. ### SET
    16. ### @1=1
    17. ### @2='zhangsan-888'
    18. ### @3='beijing-chaoyang'
    19. ### @4='2024-03-13 22:42:14'
    20. ### @5='2024-03-13 23:04:34'

     

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

  • 相关阅读:
    Windows11 使用WSL安装虚拟机
    如何计算多分组交互pp值
    九月组队学习计划!
    Python文件管理
    前端食堂技术周刊第 52 期:Babel 7.19.0、Fresh 1.1、React Native 0.70、新的 Web 性能指标 INP
    基于PyQt5GUI的人脸识别系统设计与实现
    Kafka(三)、Kafka架构
    数据结构与算法———力扣977——双指针——python
    使用Ascend八卡训练报错,len to make them match
    Python基础-连接Mysql数据库
  • 原文地址:https://blog.csdn.net/wangwenzhe222/article/details/136693938