MySQL安全刪除binlog日志的詳細(xì)步驟
1. 查看主庫(kù)和從庫(kù)正在使用的binlog是哪個(gè)文件
show master status # 主庫(kù) show slave status # 分庫(kù)
2. 查看二進(jìn)制日志
show binary logs; 或 show master logs; 或 show slave logs;
3. 查詢binlog日志
- 查詢第一個(gè)binlog日志
show binlog events;
- 查詢指定binlog日志
show binlog events in 'mysql-bin.000001'
4. 安全清理binlog日志
可以直接刪除 binlog 文件,但是可以通過 mysql 提供的工具來(lái)刪除更安全,因?yàn)閜urge 會(huì)更新 mysql-bin.index中的條目,而直接刪除的話,mysql-bin.index文件不會(huì)更新。mysql-bin.index的作用是加快查找binlog文件的速度。
purge binary logs to 'mysql-bin.012391'; #刪除 'mysql-bin.012390'前日志,保留 'mysql-bin.012390' PURGE binary LOGS BEFORE '2023-08-13 03:00:00'; #清除2023-08-13 03:00:00前binlog日志 PURGE binary LOGS BEFORE DATE_SUB( NOW( ), INTERVAL 3 DAY); #清除3天前binlog日志
清理前
清理中
使用:PURGE binary LOGS BEFORE DATE_SUB( NOW( ), INTERVAL 3 DAY);
清理后
執(zhí)行“reset master;”命令,該命令將刪除所有二進(jìn)制日志,新日志的編號(hào)從“000001”開始,命令如下
reset master;
5. 設(shè)置自動(dòng)清理MySQL binlog日志
若想一勞永逸可以配置自動(dòng)清理,需要在MySQL配置文件my.cnf中配置
5.1 永久生效
在my.cnf中配置"expire_logs_days"參數(shù)
-- 1. CentOS默認(rèn)位置/etc/my.cnf [root@localhost log]# vim /etc/my.cnf -- 2. 在[mysqld]下配置 -- 3. 自動(dòng)清理15天前的binlog,默認(rèn)值為0,表示從不刪除。 expire_logs_days = 15 -- 4. 配置后需要重啟MySQL數(shù)據(jù)庫(kù)
5.2 臨時(shí)生效
進(jìn)入MySQL,用以下命令設(shè)置全局的參數(shù):set global expire_logs_days = 15;
清除binlog對(duì)從mysql的影響
如果您有一個(gè)活性的從屬服務(wù)器,該服務(wù)器當(dāng)前正在讀取您正在試圖刪除的日志之一,則本語(yǔ)句不會(huì)起作用,而是會(huì)失敗,并伴隨一個(gè)錯(cuò)誤。
不過,如果從屬服務(wù)器是休止的,并且您碰巧清理了其想要讀取的日志之一,則從屬服務(wù)器啟動(dòng)后不能復(fù)制。
總結(jié)
到此這篇關(guān)于MySQL安全刪除binlog日志的文章就介紹到這了,更多相關(guān)MySQL安全刪除binlog日志內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- MySQL四種日志binlog/redolog/relaylog/undolog詳解
- MySQL使用binlog日志進(jìn)行數(shù)據(jù)庫(kù)遷移和數(shù)據(jù)恢復(fù)
- 清理MySQL Binlog二進(jìn)制日志的三種方式
- mysql數(shù)據(jù)庫(kù)日志binlog保存時(shí)效問題(expire_logs_days)
- Mysql如何通過binlog日志恢復(fù)數(shù)據(jù)詳解
- Mysql binlog日志文件過大的解決
- MySQL的binlog日志使用詳解
- 開啟MySQL的binlog日志的方法步驟
- 讓MySQL中某個(gè)表的操作不生成binlog日志的問題解決
相關(guān)文章
Mysql 本地計(jì)算機(jī)無(wú)法啟動(dòng) mysql 服務(wù) 錯(cuò)誤 1067:進(jìn)程意外終止。
初學(xué)php接觸mysql,遇到一些問題,卸載重裝后,無(wú)法啟動(dòng)mysql服務(wù),網(wǎng)絡(luò)上有很多種說法,我這里將我解決這個(gè)問題的辦法提出2009-12-12mysql 數(shù)據(jù)同步 出現(xiàn)Slave_IO_Running:No問題的解決方法小結(jié)
mysql replication 中slave機(jī)器上有兩個(gè)關(guān)鍵的進(jìn)程,死一個(gè)都不行,一個(gè)是slave_sql_running,一個(gè)是Slave_IO_Running,一個(gè)負(fù)責(zé)與主機(jī)的io通信,一個(gè)負(fù)責(zé)自己的slave mysql進(jìn)程。2011-05-05詳解MySQL中事務(wù)的持久性實(shí)現(xiàn)原理
這篇文章主要介紹了詳解MySQL中事務(wù)的持久性實(shí)現(xiàn)原理,幫助大家更好的理解和使用MySQL數(shù)據(jù)庫(kù),感興趣的朋友可以了解下2021-01-01mysql提示got timeout reading communication packets的解決方法
今天發(fā)現(xiàn)mysql錯(cuò)誤日志中出現(xiàn)got timeout reading communication packets,一般情況因?yàn)椴糠猪?yè)面生成有問題導(dǎo)致,這里簡(jiǎn)單分享一下解決方法2019-05-05Mysql如何實(shí)現(xiàn)不存在則插入,存在則更新
這篇文章主要介紹了Mysql如何實(shí)現(xiàn)不存在則插入,存在則更新,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-03-03MySQL去重中distinct和group?by的區(qū)別淺析
今天無(wú)意中聽到有同事在討論,distinct和group by有什么區(qū)別,下面這篇文章主要給大家介紹了關(guān)于MySQL去重中distinct和group?by區(qū)別的相關(guān)資料,需要的朋友可以參考下2022-11-11詳解Mysql之mysqlbackup備份與恢復(fù)實(shí)踐
這篇文章主要介紹了詳解Mysql之mysqlbackup備份與恢復(fù)實(shí)踐,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-02-02