最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL Binlog 日志查看方法及查看內(nèi)容解析

 更新時間:2025年06月30日 09:48:15   作者:枕頭說它不想躺  
本文介紹了MySQL Binlog日志的作用及查看方法,涵蓋開啟配置、使用工具和命令查看日志,解析Format_desc、Query等事件類型,用于數(shù)據(jù)恢復、主從復制和審計,感興趣的朋友跟隨小編一起看看吧

一、Binlog 日志概述

Binlog(二進制日志)記錄了 MySQL 數(shù)據(jù)庫執(zhí)行的所有更改數(shù)據(jù)的操作,包括INSERT、UPDATE、DELETE等。它對于數(shù)據(jù)恢復、主從復制以及審計等方面有著至關重要的作用。

二、查看 Binlog 日志方法

開啟 Binlog 日志功能

默認情況下,MySQL 的 Binlog 日志功能可能未開啟。要開啟它,需要修改 MySQL 的配置文件(通常是my.cnf或my.ini)。在[mysqld]部分添加或修改以下配置:

log-bin=mysql-bin

這里mysql-bin是日志文件名前綴,重啟 MySQL 服務后,Binlog 日志功能即開啟。

查看當前正在使用的 Binlog 日志文件

使用以下 SQL 命令可以查看當前 MySQL 正在寫入的 Binlog 日志文件名:

SHOW MASTER STATUS;

執(zhí)行結果類似如下:

+------------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000003 | 1234 | | | |
+------------------+----------+--------------+------------------+-------------------+

其中File列顯示的mysql-bin.000003就是當前正在使用的 Binlog 日志文件名,Position表示當前日志寫入的位置。

查看 Binlog 日志內(nèi)容

  1. 使用 mysqlbinlog 工具
    • 該工具隨 MySQL 安裝包一同提供。在命令行中,使用以下語法查看 Binlog 日志內(nèi)容:
mysqlbinlog [選項] binlog文件名

例如,要查看mysql-bin.000003的內(nèi)容,可以執(zhí)行:

mysqlbinlog mysql-bin.000003
  • 常用選項:
    • --start-position和--stop-position:用于指定查看日志的位置范圍。例如,只查看從位置 100 到 200 的內(nèi)容:
mysqlbinlog --start-position=100 --stop-position=200 mysql-bin.000003
  • --start-datetime和--stop-datetime:根據(jù)時間范圍查看日志。如查看 2025 - 04 - 01 10:00:00 到 2025 - 04 - 01 11:00:00 之間的日志:
mysqlbinlog --start-datetime="2025-04-01 10:00:00" --stop-datetime="2025-04-01 11:00:00" mysql-bin.000003
  1. 在 MySQL 客戶端中通過SHOW BINLOG EVENTS命令
    • 語法如下:
SHOW BINLOG EVENTS [IN 'log_name'] [FROM pos] [LIMIT [offset,] row_count];
  • 示例:查看mysql-bin.000003從位置 50 開始的 10 條日志事件:
SHOW BINLOG EVENTS IN'mysql-bin.000003' FROM 50 LIMIT 0, 10;

三、Binlog 日志內(nèi)容解析

Binlog 日志包含多個事件(Event),每個事件記錄了一次數(shù)據(jù)庫操作。常見的事件類型及解析如下:

  1. Format_desc 事件
    • 通常是 Binlog 日志的第一個事件,用于描述該 Binlog 日志的格式信息,包括日志版本、創(chuàng)建時間等。例如:
#120505 14:31:06 server id 1 end_log_pos 123 CRC32 0xabcdef01 Start: binlog v 4, server v 5.7.20 created 120505 14:31:06 at startup
  • 其中#120505 14:31:06是事件發(fā)生時間,server id 1是服務器 ID,end_log_pos 123表示該事件結束的位置,CRC32 0xabcdef01是 CRC32 校驗和。
  1. Query 事件
    • 記錄了一條 SQL 查詢語句,通常是INSERT、UPDATE、DELETE等更改數(shù)據(jù)的操作。例如:
#120505 14:32:00 server id 1 end_log_pos 256 CRC32 0x12345678 Query thread_id=3 exec_time=0 error_code=0
use testdb;
SET TIMESTAMP=1336223520;
INSERT INTO users (name, age) VALUES ('John', 25);
  • #120505 14:32:00是事件發(fā)生時間,server id 1是服務器 ID,end_log_pos 256是事件結束位置。thread_id=3表示執(zhí)行該查詢的線程 ID,exec_time=0是查詢執(zhí)行時間(秒),error_code=0表示執(zhí)行無錯誤。下面的use testdb;指定了操作的數(shù)據(jù)庫,SET TIMESTAMP=1336223520;設置了時間戳,最后是具體的INSERT語句。
  1. Row_event 系列事件(如 Table_map 事件、Write_rows 事件、Update_rows 事件、Delete_rows 事件)
    • 在基于行模式(row - based)的 Binlog 記錄中常見。
    • Table_map 事件:用于映射表的結構信息,例如:
#120505 14:33:00 server id 1 end_log_pos 300 CRC32 0x87654321 Table_map: `testdb`.`users` mapped to number 123

這里表示testdb數(shù)據(jù)庫中的users表被映射為編號 123。

  • Write_rows 事件:記錄了插入數(shù)據(jù)的操作。例如:
#120505 14:33:10 server id 1 end_log_pos 350 CRC32 0x23456789 Write_rows: table id 123 flags: STMT_END_F
### INSERT INTO `testdb`.`users`
### SET
### @1=1 /* INT meta=0 nullable=0 is_null=0 */,@2='Jane' /* VARCHAR(50) meta=50 nullable=0 is_null=0 */,@3=30 /* INT meta=0 nullable=0 is_null=0 */

表示向testdb.users表插入了一條數(shù)據(jù),數(shù)據(jù)的具體字段值以@符號表示。

  • Update_rows 事件:記錄更新數(shù)據(jù)的操作,會包含更新前和更新后的行數(shù)據(jù)。例如:
#120505 14:34:00 server id 1 end_log_pos 400 CRC32 0x34567890 Update_rows: table id 123 flags: STMT_END_F
### UPDATE `testdb`.`users`
### WHERE
### @1=1 /* INT meta=0 nullable=0 is_null=0 */,@2='Jane' /* VARCHAR(50) meta=50 nullable=0 is_null=0 */,@3=30 /* INT meta=0 nullable=0 is_null=0 */
### SET
### @1=1 /* INT meta=0 nullable=0 is_null=0 */,@2='Jane Doe' /* VARCHAR(50) meta=50 nullable=0 is_null=0 */,@3=31 /* INT meta=0 nullable=0 is_null=0 */
  • Delete_rows 事件:記錄刪除數(shù)據(jù)的操作,包含被刪除行的信息。例如:
#120505 14:35:00 server id 1 end_log_pos 450 CRC32 0x45678901 Delete_rows: table id 123 flags: STMT_END_F
### DELETE FROM `testdb`.`users`
### WHERE
### @1=1 /* INT meta=0 nullable=0 is_null=0 */,@2='Jane Doe' /* VARCHAR(50) meta=50 nullable=0 is_null=0 */,@3=31 /* INT meta=0 nullable=0 is_null=0 */

通過上述方法和對內(nèi)容的解析,能夠深入了解 MySQL 數(shù)據(jù)庫中數(shù)據(jù)的變化歷史,為數(shù)據(jù)庫的維護和故障排查提供有力支持。

到此這篇關于MySQL Binlog 日志查看方法及查看內(nèi)容解析的文章就介紹到這了,更多相關mysql 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • MySQL企業(yè)版數(shù)據(jù)脫敏與去標識化的方法詳解

    MySQL企業(yè)版數(shù)據(jù)脫敏與去標識化的方法詳解

    本文介紹了MySQL企業(yè)版的數(shù)據(jù)脫敏功能,包括掩碼、隨機生成和字典替換三大能力,強調(diào)組件方式更安全、支持中文和權限管理,適用于客服、醫(yī)療、金融等場景,但僅限企業(yè)版,社區(qū)版不支持該功能,需要的朋友可以參考下
    2025-10-10
  • MySQL中日期格式化匹配的處理方式

    MySQL中日期格式化匹配的處理方式

    處理日期和時間數(shù)據(jù)是很常見的需求,本文主要介紹了SELECT?語句對日期進行格式化匹配,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-08-08
  • Mysql定時數(shù)據(jù)庫備份實現(xiàn)的保姆級教程

    Mysql定時數(shù)據(jù)庫備份實現(xiàn)的保姆級教程

    數(shù)據(jù)備份本身主要是為了預防一些意外,例如服務器或者個人電腦的硬件故障、人為的錯誤操作等情況,這篇文章主要給大家介紹了Mysql定時數(shù)據(jù)庫備份實現(xiàn)的保姆級教程,需要的朋友可以參考下
    2024-12-12
  • MySQL最大連接數(shù)限制的修改步驟

    MySQL最大連接數(shù)限制的修改步驟

    針對一些訪問量比較大的網(wǎng)站,Mysql默認的最大連接數(shù)可能不夠用,需要進行相應的修改,下面這篇文章主要給大家介紹了關于MySQL最大連接數(shù)限制的修改步驟,需要的朋友可以參考下
    2022-07-07
  • MySQL性能壓力基準測試工具sysbench的使用簡介

    MySQL性能壓力基準測試工具sysbench的使用簡介

    這篇文章主要介紹了MySQL性能壓力基準測試工具sysbench的使用簡介,幫助大家更好的理解和學習使用MySQL,感興趣的朋友可以了解下
    2021-04-04
  • Mysql常用基準測試命令總結

    Mysql常用基準測試命令總結

    在本篇文章中我們給大家分享了關于Mysql常用基準測試命令的總結內(nèi)容,有需要的讀者們可以學習下。
    2018-10-10
  • mysql自增navicat_navicat如何設置主鍵自增

    mysql自增navicat_navicat如何設置主鍵自增

    通過Navicat設置MySQL表的主鍵自增,步驟包括:打開Navicat連接數(shù)據(jù)庫,選擇表并設計,右擊id字段設置為主鍵,然后勾選自動遞增功能,這樣每次插入新記錄時,id字段都會自動遞增
    2025-01-01
  • 如何使用C/C++鏈接mysql數(shù)據(jù)庫

    如何使用C/C++鏈接mysql數(shù)據(jù)庫

    本文給大家介紹了MySQL數(shù)據(jù)庫的安裝方法(手動導入或系統(tǒng)指令)及接口使用流程,包括初始化、鏈接、執(zhí)行SQL、獲取結果、釋放內(nèi)存等關鍵步驟,強調(diào)編碼設置為UTF-8、正確處理頭文件路徑和內(nèi)存泄漏問題,感興趣的朋友跟隨小編一起看看吧
    2025-09-09
  • MySQL 鎖機制實現(xiàn)原理解析

    MySQL 鎖機制實現(xiàn)原理解析

    MySQL鎖機制通過表級、行級(含間隙鎖、臨鍵鎖)等實現(xiàn)并發(fā)控制,保障數(shù)據(jù)一致性與完整性,InnoDB支持高效行鎖管理,而MyISAM僅用表鎖,需合理設計索引、拆分事務及調(diào)整參數(shù)以優(yōu)化性能,避免死鎖與鎖等待,本文給大家介紹MySQL鎖機制實現(xiàn)原理,感興趣的朋友跟隨小編一起看看吧
    2025-09-09
  • Mac安裝 mysql 數(shù)據(jù)庫總結

    Mac安裝 mysql 數(shù)據(jù)庫總結

    本文給大家分享的是如何在Mac下安裝mysql數(shù)據(jù)庫的方法,總結的很全面,有需要的小伙伴可以參考下
    2016-04-04

最新評論

黄石市| 宣化县| 龙陵县| 札达县| 吉首市| 东乡族自治县| 华安县| 阿克陶县| 阜宁县| 三亚市| 中西区| 福清市| 北海市| 涿鹿县| 新巴尔虎右旗| 中西区| 河西区| 铁岭市| 常熟市| 寿阳县| 景谷| 甘洛县| 会同县| 慈利县| 乌兰察布市| 桑植县| 井陉县| 水城县| 灵丘县| 尼木县| 利辛县| 故城县| 娄底市| 荃湾区| 江西省| 教育| 旺苍县| 高平市| 扬州市| 平果县| 隆子县|