MySQL 的 binlog(Binary Log)日志關(guān)閉的方法
如何關(guān)閉 MySQL 的 binlog(Binary Log)日志
1. 什么是 MySQL binlog?
MySQL 的 binlog(Binary Log,二進(jìn)制日志) 是記錄數(shù)據(jù)庫更改的日志文件,主要用于:
- 數(shù)據(jù)恢復(fù):通過
mysqlbinlog工具恢復(fù)數(shù)據(jù)。 - 主從復(fù)制:主庫通過 binlog 傳輸數(shù)據(jù)變更到從庫。
- 審計:記錄數(shù)據(jù)庫的寫入操作。
但在某些情況下(如單機數(shù)據(jù)庫、測試環(huán)境、磁盤空間有限時),可以關(guān)閉 binlog 以減少磁盤占用和 I/O 負(fù)擔(dān)。
2. 檢查 binlog 是否開啟
在 MySQL 終端或命令行中執(zhí)行:
SHOW VARIABLES LIKE 'log_bin';
如果返回 ON,說明 binlog 已啟用;如果返回 OFF,說明 binlog 已關(guān)閉。
檢查 binlog 文件:
SHOW BINARY LOGS;
如果 binlog 已開啟,會列出日志文件。
3. 關(guān)閉 MySQL binlog 方法
注意:關(guān)閉 binlog 后,MySQL 將不再記錄數(shù)據(jù)變更,主從復(fù)制會受到影響。
3.1臨時關(guān)閉 binlog(僅對當(dāng)前會話生效)
SET SQL_LOG_BIN=0;
?? 該方法僅對當(dāng)前會話有效,MySQL 重啟后 binlog 仍會生效。
3.2永久關(guān)閉 binlog(修改配置文件)
要永久關(guān)閉 binlog,需要修改 MySQL 配置文件 my.cnf(Linux/macOS)或 my.ini(Windows)。
步驟 1:編輯 MySQL 配置文件
- Linux/macOS:
sudo nano /etc/my.cnf
- Windows:
找到my.ini(通常在C:\ProgramData\MySQL\MySQL Server X.Y\my.ini)。
步驟 2:注釋或刪除 binlog 相關(guān)配置
找到 [mysqld] 部分,并注釋或刪除以下行:
#log-bin=mysql-bin # 注釋或刪除此行 #server-id=1 # 如果是主從復(fù)制,需修改 server-id
如果有 binlog_format,也可以刪除或注釋掉。
步驟 3:重啟 MySQL
修改完配置文件后,重啟 MySQL 使其生效:
sudo systemctl restart mysql # Linux(使用 systemd) service mysql restart # Linux(使用 SysVinit) net stop mysql && net start mysql # Windows
步驟 4:驗證 binlog 是否關(guān)閉
SHOW VARIABLES LIKE 'log_bin';
返回 OFF 說明已成功關(guān)閉。
4. 清理已有 binlog 文件(可選)
如果 binlog 關(guān)閉后仍然占用大量磁盤空間,可以手動刪除:
方法 1:手動清理 binlog
RESET MASTER;
或
PURGE BINARY LOGS TO 'mysql-bin.000010';
方法 2:刪除 binlog 文件(需謹(jǐn)慎)
如果 binlog 目錄存儲大量 .00000X 文件,可以手動刪除:
rm -rf /var/lib/mysql/mysql-bin.*
?? 注意:此操作不可逆,請謹(jǐn)慎執(zhí)行!
5. 結(jié)論
- Binlog 主要用于數(shù)據(jù)恢復(fù)、審計和主從復(fù)制。
- 在單機環(huán)境、測試環(huán)境或無主從需求時,可以關(guān)閉 binlog 以提高性能。
- 關(guān)閉 binlog 需修改 MySQL 配置文件并重啟 MySQL。
- 關(guān)閉后可手動清理已有的 binlog 文件以釋放磁盤空間。
到此這篇關(guān)于如何關(guān)閉 MySQL 的 binlog(Binary Log)日志的文章就介紹到這了,更多相關(guān)mysql binlog日志內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- MYSQL如何優(yōu)雅的刪除二進(jìn)制日志binlog
- mysqlbinlog查看日志[ERROR]unknown variable ‘default-character-set=utf8’
- MySQL中如何開啟二進(jìn)制日志(Binlog)
- MySQL刪除binlog日志文件的三種實現(xiàn)方式
- 開啟mysql的binlog日志步驟詳解
- 使用Canal監(jiān)聽MySQL Binlog日志的實現(xiàn)方案
- MySQL Binlog 日志監(jiān)聽與 Spring 集成實戰(zhàn)場景
- MySQL四種日志binlog/redolog/relaylog/undolog詳解
相關(guān)文章
SQL Server 出現(xiàn)Error: 1326錯誤(管理器無法連接遠(yuǎn)程數(shù)據(jù)庫)問題解決方案
這篇文章主要介紹了SQL Server 出現(xiàn)Error: 1326錯誤(管理器無法連接遠(yuǎn)程數(shù)據(jù)庫)問題解決方案的相關(guān)資料,這里對1326 錯誤進(jìn)行了詳細(xì)介紹及解決辦法,需要的朋友可以參考下2016-11-11
關(guān)于mysql init_connect的幾個要點總結(jié)
下面小編就為大家?guī)硪黄P(guān)于mysql init_connect的幾個要點總結(jié)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-03-03
mysql數(shù)據(jù)庫中字符集亂碼問題原因及解決
這篇文章主要介紹了mysql數(shù)據(jù)庫中字符集亂碼問題原因及解決,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08
MySQL server has gone away 問題的解決方法
MySQL server has gone away 問題解決方法,需要的朋友可以參考下。2010-06-06
Linux MYSQL5.7.23 rpm安裝(附帶安裝包)教程
RPM是一種軟件包管理系統(tǒng),常用于基于Red Hat的Linux發(fā)行版,如Fedora和CentOS,它允許用戶通過預(yù)編譯的二進(jìn)制包快速安裝和管理軟件,這篇文章給大家介紹Linux mysql5.7.23 rpm安裝(附帶安裝包)教程,感興趣的朋友一起看看吧2023-12-12
Mysql中文亂碼以及導(dǎo)出為sql語句和Excel問題解決方法[圖文]
這幾天基于Heritrix寫了一個爬蟲,用到mysql,在導(dǎo)入導(dǎo)出數(shù)據(jù)時,遇到一些亂碼問題,好不容易解決了,記錄一下,以備查看2013-04-04
MySQL 8.0找不到 my.ini 配置文件(并開啟 Binlog 
本文主要介紹了MySQL 8.0找不到 my.ini 配置文件(并開啟 Binlog 監(jiān)聽),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2025-06-06
mysql 5.6.14 win32 解壓縮版(免安裝)安裝配置教程
這篇文章主要介紹了mysql 5.6.14 win32 解壓縮版(免安裝)安裝配置教程,感興趣的小伙伴們可以參考一下2016-11-11

