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

MySQL中如何開啟二進(jìn)制日志(Binlog)

 更新時(shí)間:2025年03月05日 17:08:33   作者:wujiada001  
本文詳細(xì)介紹了如何在不同操作系統(tǒng)(Windows、Linux、Docker)下開啟MySQL的二進(jìn)制日志(Binlog),包括停止MySQL服務(wù)、編輯配置文件、創(chuàng)建日志文件目錄、啟動(dòng)服務(wù)以及驗(yàn)證Binlog是否開啟

在 MySQL 中開啟二進(jìn)制日志(Binlog)可以幫助記錄數(shù)據(jù)庫的變更信息,這在數(shù)據(jù)恢復(fù)、主從復(fù)制等場景中非常有用。

下面不同 MySQL 版本下開啟 Binlog 的方法:

windows系統(tǒng)

手動(dòng)停止mysql,修改完配置再重新啟動(dòng)

1. 停止 MySQL 服務(wù)

在修改配置文件之前,需要先停止 MySQL 服務(wù),以避免在修改過程中出現(xiàn)問題。

你可以通過以下兩種常見方式停止服務(wù):

使用服務(wù)管理器

  • 按下 Win + R 組合鍵,輸入 services.msc 并回車,打開 “服務(wù)” 窗口。
  • 在服務(wù)列表中找到 MySQL 服務(wù)(具體名稱可能因安裝時(shí)的配置有所不同),右鍵點(diǎn)擊該服務(wù),選擇 “停止”。

使用命令行

以管理員身份打開命令提示符,執(zhí)行以下命令:

net stop mysql

2. 找到并打開 my.ini 文件

my.ini 是 MySQL 的配置文件,其位置通常取決于 MySQL 的安裝路徑。

常見的位置如下:

  • 默認(rèn)安裝路徑C:\ProgramData\MySQL\MySQL Server X.XX.X 為具體的 MySQL 版本號(hào))。
  • 自定義安裝路徑:如果你在安裝 MySQL 時(shí)選擇了自定義路徑,那么 my.ini 文件會(huì)位于你指定的安裝目錄下。

找到 my.ini 文件后,使用文本編輯器(如記事本、Notepad++ 等)打開它。

3. 編輯 my.ini 文件

my.ini 文件中找到 [mysqld] 部分,如果沒有則手動(dòng)添加。

[mysqld] 部分下添加或修改以下配置項(xiàng):

[mysqld]
# 開啟二進(jìn)制日志
# 默認(rèn)是在安裝目錄的data文件里面
log-bin = C:/mysql/logs/mysql-bin.log
# 設(shè)置服務(wù)器 ID,必須為正整數(shù),在主從復(fù)制場景中,每個(gè)服務(wù)器的 ID 要唯一
server-id = 1
# 二進(jìn)制日志格式,可選值有 STATEMENT、ROW、MIXED
binlog_format = ROW

配置項(xiàng)說明:

  • log-bin:指定二進(jìn)制日志文件的路徑和名稱。注意在 Windows 系統(tǒng)中,路徑分隔符要使用 / 而不是 \,或者使用雙反斜杠 \\。你可以根據(jù)實(shí)際情況修改路徑,例如 C:/mysql/logs/mysql-bin.log,確保該目錄存在且 MySQL 服務(wù)有讀寫權(quán)限。
  • server-id:每個(gè) MySQL 服務(wù)器必須有一個(gè)唯一的 server-id,用于標(biāo)識(shí)不同的服務(wù)器,在主從復(fù)制中非常重要,這里設(shè)置為 1
  • binlog_format:指定二進(jìn)制日志的格式。
  • STATEMENT:基于 SQL 語句的日志記錄,記錄執(zhí)行的 SQL 語句。
  • ROW:基于行的日志記錄,記錄每一行數(shù)據(jù)的變更情況,這種格式更詳細(xì),能避免一些潛在的復(fù)制問題。
  • MIXED:混合模式,根據(jù)不同的 SQL 語句自動(dòng)選擇合適的日志記錄方式。

補(bǔ)充:如果在 Windows 系統(tǒng)中找不到 my.ini 文件

創(chuàng)建 my.ini 文件:

若系統(tǒng)中沒有 my.ini 文件,你需要手動(dòng)創(chuàng)建。一般情況下,該文件會(huì)存于 MySQL 的安裝目錄或者 C:\ProgramData\MySQL\MySQL Server X.XX.X 代表具體的 MySQL 版本號(hào))路徑下。

  • 打開文件資源管理器,定位到相應(yīng)目錄。
  • 在該目錄下右鍵單擊空白處,選擇 “新建” -> “文本文檔”。
  • 將新建的文本文檔重命名為 my.ini

4. 創(chuàng)建日志文件目錄(如果需要)

如果你指定的日志文件目錄不存在,需要手動(dòng)創(chuàng)建該目錄。例如,對(duì)于 C:/mysql/logs 目錄,你可以通過以下步驟創(chuàng)建:

  • 打開 “此電腦”,找到 C: 盤。
  • C: 盤根目錄下,右鍵點(diǎn)擊空白處,選擇 “新建” -> “文件夾”,將文件夾命名為 mysql。
  • 進(jìn)入 mysql 文件夾,重復(fù)上述操作,創(chuàng)建名為 logs 的文件夾。

5. 啟動(dòng) MySQL 服務(wù)

完成 my.ini 文件的修改后,需要重新啟動(dòng) MySQL 服務(wù),讓配置生效。

同樣可以通過以下兩種方式啟動(dòng)服務(wù):

使用服務(wù)管理器:

  • 打開 “服務(wù)” 窗口(按下 Win + R 組合鍵,輸入 services.msc 并回車)。
  • 在服務(wù)列表中找到 MySQL 服務(wù),右鍵點(diǎn)擊該服務(wù),選擇 “啟動(dòng)”。

使用命令行:

以管理員身份打開命令提示符,執(zhí)行以下命令:

net start mysql

6. 驗(yàn)證 Binlog 是否開啟

可以通過以下 SQL 語句驗(yàn)證 Binlog 是否已經(jīng)成功開啟:

SHOW VARIABLES LIKE 'log_bin';

在 MySQL 命令行客戶端(如 MySQL Command Line Client 或 MySQL Workbench)中執(zhí)行上述語句,如果結(jié)果中的 ValueON,則表示 Binlog 已經(jīng)開啟。

你還可以查看當(dāng)前使用的二進(jìn)制日志文件:

SHOW MASTER STATUS;

通過以上步驟,你就可以在 Windows 系統(tǒng)中成功開啟 MySQL 的 Binlog 功能。

ps:可以手動(dòng)啟停MySQL

Linux 系統(tǒng)

1. 停止 MySQL 服務(wù)

在修改配置文件之前,需要先停止 MySQL 服務(wù)。

以 Linux 系統(tǒng)為例,使用以下命令停止服務(wù):

sudo systemctl stop mysql

在 Windows 系統(tǒng)中,可以通過服務(wù)管理器停止 MySQL 服務(wù)。

2. 編輯 MySQL 配置文件

通常 MySQL 的配置文件為 my.cnf(Linux)或 my.ini(Windows)。

你可以使用以下命令打開該文件:

sudo vim /etc/mysql/my.cnf

在配置文件中找到 [mysqld] 部分,如果沒有則添加,然后在該部分下添加或修改以下配置項(xiàng):

[mysqld]
# 開啟二進(jìn)制日志
log_bin = /var/log/mysql/mysql-bin.log
# 設(shè)置服務(wù)器 ID,必須為正整數(shù),在主從復(fù)制場景中,每個(gè)服務(wù)器的 ID 要唯一
server-id = 1
# 二進(jìn)制日志格式,可選值有 STATEMENT、ROW、MIXED
binlog_format = ROW
  • log_bin:指定二進(jìn)制日志文件的路徑和名稱,這里設(shè)置為 /var/log/mysql/mysql-bin.log,你可以根據(jù)實(shí)際情況修改。
  • server-id:每個(gè) MySQL 服務(wù)器必須有一個(gè)唯一的 server-id,用于標(biāo)識(shí)不同的服務(wù)器,在主從復(fù)制中非常重要。
  • binlog_format:指定二進(jìn)制日志的格式。
  • STATEMENT:基于 SQL 語句的日志記錄,記錄執(zhí)行的 SQL 語句。
  • ROW:基于行的日志記錄,記錄每一行數(shù)據(jù)的變更情況。
  • MIXED:混合模式,根據(jù)不同的 SQL 語句自動(dòng)選擇合適的日志記錄方式。

3. 創(chuàng)建日志文件目錄并設(shè)置權(quán)限

如果指定的日志文件目錄不存在,需要?jiǎng)?chuàng)建該目錄,并設(shè)置合適的權(quán)限:

sudo mkdir -p /var/log/mysql
sudo chown -R mysql:mysql /var/log/mysql

4. 啟動(dòng) MySQL 服務(wù)

完成配置文件的修改后,啟動(dòng) MySQL 服務(wù):

sudo systemctl start mysql

5. 驗(yàn)證 Binlog 是否開啟

可以通過以下 SQL 語句驗(yàn)證 Binlog 是否已經(jīng)成功開啟:

SHOW VARIABLES LIKE 'log_bin';

如果結(jié)果中的 ValueON,則表示 Binlog 已經(jīng)開啟。

你還可以查看當(dāng)前使用的二進(jìn)制日志文件:

SHOW MASTER STATUS;

Docker 容器中的 MySQL

如果你使用 Docker 部署 MySQL,可以在啟動(dòng)容器時(shí)通過環(huán)境變量或掛載配置文件的方式開啟 Binlog。

使用環(huán)境變量

docker run -d \
  --name mysql \
  -e MYSQL_ROOT_PASSWORD=your_password \
  -e MYSQL_LOG_BIN_ENABLED=1 \
  -e MYSQL_LOG_BIN=/var/lib/mysql/mysql-bin.log \
  -e MYSQL_SERVER_ID=1 \
  -e MYSQL_BINLOG_FORMAT=ROW \
  -p 3306:3306 \
  mysql:8.0

掛載配置文件

創(chuàng)建一個(gè)包含 Binlog 配置的 my.cnf 文件:

[mysqld]
log_bin = /var/lib/mysql/mysql-bin.log
server-id = 1
binlog_format = ROW

然后使用以下命令啟動(dòng)容器并掛載配置文件:

docker run -d \
  --name mysql \
  -e MYSQL_ROOT_PASSWORD=your_password \
  -v /path/to/your/my.cnf:/etc/mysql/my.cnf \
  -p 3306:3306 \
  mysql:8.0

其中 /path/to/your/my.cnf 是你本地 my.cnf 文件的路徑。

通過以上步驟,你就可以在 MySQL 中成功開啟 Binlog 功能。

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • MySQL MGR 高可用集群搭建過程詳解

    MySQL MGR 高可用集群搭建過程詳解

    MGR是MySQLGroupReplication的簡稱,是MySQL5.7.17版本誕生的一種插件,可以靈活部署,保證數(shù)據(jù)一致性又可以自動(dòng)切換,具備故障檢測功能、支持多節(jié)點(diǎn)寫入,本文介紹MySQL MGR 高可用集群搭建過程,感興趣的朋友跟隨小編一起看看吧
    2025-12-12
  • MySQL的查詢緩存機(jī)制基本學(xué)習(xí)教程

    MySQL的查詢緩存機(jī)制基本學(xué)習(xí)教程

    這篇文章主要介紹了MySQL的查詢緩存機(jī)制基本學(xué)習(xí)教程,默認(rèn)針對(duì)InnoDB存儲(chǔ)引擎下來將,需要的朋友可以參考下
    2015-11-11
  • JDK1.7下測試ConnectorJ連接MySQL8.0的方法

    JDK1.7下測試ConnectorJ連接MySQL8.0的方法

    MySQL?Connector/J是一個(gè)JDBC?4型驅(qū)動(dòng)程序。Type?4標(biāo)志意味著驅(qū)動(dòng)程序是MySQL協(xié)議的純Java實(shí)現(xiàn),不依賴于MySQL客戶端庫,這篇文章主要介紹了JDK1.7下測試ConnectorJ連接MySQL8.0,需要的朋友可以參考下
    2022-10-10
  • 更改Mysql root用戶密碼

    更改Mysql root用戶密碼

    這篇文章主要介紹了更改Mysql root用戶密碼的相關(guān)資料,需要的朋友可以參考下
    2016-03-03
  • MySQL FIND_IN_SET 函數(shù)實(shí)戰(zhàn)實(shí)例

    MySQL FIND_IN_SET 函數(shù)實(shí)戰(zhàn)實(shí)例

    FIND_IN_SET是MySQL處理分隔字符串的函數(shù),用于判斷字符串是否存在于列表中,返回位置或0,適用于標(biāo)簽、分類等多值場景,但無法使用索引,性能較差,建議結(jié)合替代方案或優(yōu)化設(shè)計(jì),注意大小寫敏感和空值處理問題,對(duì)mysql find_in_set函數(shù)感興趣的朋友一起看看吧
    2025-07-07
  • mysql中如何判斷當(dāng)前是字符 mysql判斷字段中有無漢字

    mysql中如何判斷當(dāng)前是字符 mysql判斷字段中有無漢字

    這篇文章主要介紹了mysql如何判斷字段中有無漢字的方法,使用length與char_length兩個(gè)函數(shù)就可以完成
    2014-01-01
  • mysql8.0.11安裝配置方法圖文教程 MySQL8.0新密碼認(rèn)證方式

    mysql8.0.11安裝配置方法圖文教程 MySQL8.0新密碼認(rèn)證方式

    這篇文章主要為大家詳細(xì)介紹了mysql8.0.11安裝配置方法圖文教程,以及MySQL8.0新密碼認(rèn)證方式,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-11-11
  • Mysql數(shù)據(jù)庫定時(shí)備份腳本分享

    Mysql數(shù)據(jù)庫定時(shí)備份腳本分享

    這篇文章主要分享了Mysql數(shù)據(jù)庫的定時(shí)備份腳本,幫助大家更好的理解和使用MySQL數(shù)據(jù)庫,感興趣的朋友可以了解下
    2020-09-09
  • MySQL系列之十二 備份與恢復(fù)

    MySQL系列之十二 備份與恢復(fù)

    這篇文章主要介紹了MySQL 數(shù)據(jù)備份與還原的相關(guān)知識(shí),本文通過示例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下,希望可以幫到你們
    2021-07-07
  • MySQL數(shù)據(jù)庫備份恢復(fù)實(shí)現(xiàn)代碼

    MySQL數(shù)據(jù)庫備份恢復(fù)實(shí)現(xiàn)代碼

    這篇文章主要介紹了MySQL數(shù)據(jù)庫備份恢復(fù)實(shí)現(xiàn)代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06

最新評(píng)論

南陵县| 朝阳区| 巴林左旗| 乌兰浩特市| 拉孜县| 丹东市| 江北区| 天峻县| 威信县| 邳州市| 郑州市| 宁乡县| 弋阳县| 玉溪市| 金昌市| 曲沃县| 乌鲁木齐县| 集贤县| 丹阳市| 突泉县| 同心县| 临武县| 汤原县| 达尔| 东城区| 肃北| 堆龙德庆县| 瑞丽市| 桂平市| 高安市| 沧州市| 河源市| 繁峙县| 驻马店市| 蛟河市| 镇安县| 高青县| 阿拉善左旗| 沽源县| 博爱县| 天镇县|