MySQL 的 binlog(Binary Log)日志關(guān)閉的方法
如何關(guān)閉 MySQL 的 binlog(Binary Log)日志
1. 什么是 MySQL binlog?
MySQL 的 binlog(Binary Log,二進(jìn)制日志) 是記錄數(shù)據(jù)庫(kù)更改的日志文件,主要用于:
- 數(shù)據(jù)恢復(fù):通過
mysqlbinlog工具恢復(fù)數(shù)據(jù)。 - 主從復(fù)制:主庫(kù)通過 binlog 傳輸數(shù)據(jù)變更到從庫(kù)。
- 審計(jì):記錄數(shù)據(jù)庫(kù)的寫入操作。
但在某些情況下(如單機(jī)數(shù)據(jù)庫(kù)、測(cè)試環(huán)境、磁盤空間有限時(shí)),可以關(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 已開啟,會(huì)列出日志文件。
3. 關(guān)閉 MySQL binlog 方法
注意:關(guān)閉 binlog 后,MySQL 將不再記錄數(shù)據(jù)變更,主從復(fù)制會(huì)受到影響。
3.1臨時(shí)關(guān)閉 binlog(僅對(duì)當(dāng)前會(huì)話生效)
SET SQL_LOG_BIN=0;
?? 該方法僅對(duì)當(dāng)前會(huì)話有效,MySQL 重啟后 binlog 仍會(huì)生效。
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:驗(yàn)證 binlog 是否關(guān)閉
SHOW VARIABLES LIKE 'log_bin';
返回 OFF 說明已成功關(guān)閉。
4. 清理已有 binlog 文件(可選)
如果 binlog 關(guān)閉后仍然占用大量磁盤空間,可以手動(dòng)刪除:
方法 1:手動(dòng)清理 binlog
RESET MASTER;
或
PURGE BINARY LOGS TO 'mysql-bin.000010';
方法 2:刪除 binlog 文件(需謹(jǐn)慎)
如果 binlog 目錄存儲(chǔ)大量 .00000X 文件,可以手動(dòng)刪除:
rm -rf /var/lib/mysql/mysql-bin.*
?? 注意:此操作不可逆,請(qǐng)謹(jǐn)慎執(zhí)行!
5. 結(jié)論
- Binlog 主要用于數(shù)據(jù)恢復(fù)、審計(jì)和主從復(fù)制。
- 在單機(jī)環(huán)境、測(cè)試環(huán)境或無主從需求時(shí),可以關(guān)閉 binlog 以提高性能。
- 關(guān)閉 binlog 需修改 MySQL 配置文件并重啟 MySQL。
- 關(guān)閉后可手動(dòng)清理已有的 binlog 文件以釋放磁盤空間。
到此這篇關(guān)于如何關(guān)閉 MySQL 的 binlog(Binary Log)日志的文章就介紹到這了,更多相關(guān)mysql binlog日志內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- MYSQL如何優(yōu)雅的刪除二進(jìn)制日志binlog
- mysqlbinlog查看日志[ERROR]unknown variable ‘default-character-set=utf8’
- MySQL中如何開啟二進(jìn)制日志(Binlog)
- MySQL刪除binlog日志文件的三種實(shí)現(xiàn)方式
- 開啟mysql的binlog日志步驟詳解
- 使用Canal監(jiān)聽MySQL Binlog日志的實(shí)現(xiàn)方案
- MySQL Binlog 日志監(jiān)聽與 Spring 集成實(shí)戰(zhàn)場(chǎng)景
- MySQL四種日志binlog/redolog/relaylog/undolog詳解
相關(guān)文章
MySQL中使用case when 語句實(shí)現(xiàn)多條件查詢的方法
今天在一個(gè)應(yīng)用中使用到了一個(gè)比較特殊的數(shù)據(jù)查詢要求。需要的朋友可以參考下。2010-12-12
mysql 批量查詢?nèi)∶恳唤M最新一條數(shù)據(jù)
根據(jù)車牌號(hào)查詢最新的一條交車記錄的‘合同號(hào)’ ,這里只需要查詢‘合同號(hào)’這個(gè)字段,這篇文章主要介紹了mysql 批量查詢?nèi)∶恳唤M最新一條數(shù)據(jù),需要的朋友可以參考下2024-02-02
mysql如何處理varchar與nvarchar類型中的特殊字符
這篇文章主要介紹了mysql如何處理varchar與nvarchar類型中的特殊字符,需要的朋友可以參考下2014-12-12
MySQL數(shù)據(jù)庫(kù)索引order?by排序精講
我們今天說的并不是大數(shù)據(jù)下該如何優(yōu)雅的排序,如何提升排序性能的問題,我們來仔細(xì)分析說一說MySQL中的排序問題,希望可以對(duì)正在閱讀的同學(xué)們有所啟迪幫助2021-11-11
mysql中提高Order by語句查詢效率的兩個(gè)思路分析
在MySQL數(shù)據(jù)庫(kù)中,Order by語句的使用頻率是比較高的。但是眾所周知,在使用這個(gè)語句時(shí),往往會(huì)降低數(shù)據(jù)查詢的性能。2011-03-03
mysql雙機(jī)熱備實(shí)現(xiàn)方案【可測(cè)試】
雙機(jī)熱備從廣義上講,就是對(duì)于重要的服務(wù),使用兩臺(tái)服務(wù)器,互相備份,共同執(zhí)行同一服務(wù)。這篇文章主要介紹了mysql雙機(jī)熱備實(shí)現(xiàn)方案,需要的朋友可以參考下2019-10-10
MySQL安全配置向?qū)ysql_secure_installation詳解
這篇文章主要介紹了MySQL安全配置向?qū)ysql_secure_installation各項(xiàng)配置的含義,并依據(jù)經(jīng)驗(yàn)給予一了一些建議,需要的朋友可以參考下2014-03-03
MySQL中的多字段相同數(shù)據(jù)去重復(fù)
這篇文章主要介紹了MySQL中的多字段相同數(shù)據(jù)去重復(fù)問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-12-12

