欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MySQL安全刪除binlog日志的詳細(xì)步驟

 更新時(shí)間:2024年02月20日 08:32:13   作者:炎方  
如果你的?Mysql?搭建了主從同步,或者數(shù)據(jù)庫開啟了log-bin日志,那么隨著時(shí)間的推移,你的數(shù)據(jù)庫data目錄下會(huì)產(chǎn)生大量的日志文件,下面這篇文章主要給大家介紹了關(guān)于MySQL安全刪除binlog日志的詳細(xì)步驟,需要的朋友可以參考下

1. 查看主庫和從庫正在使用的binlog是哪個(gè)文件

show master status # 主庫
show slave status # 分庫

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 提供的工具來刪除更安全,因?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)制日志,新日志的編號從“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ù)庫

5.2 臨時(shí)生效

進(jìn)入MySQL,用以下命令設(shè)置全局的參數(shù):set global expire_logs_days = 15;

清除binlog對從mysql的影響

如果您有一個(gè)活性的從屬服務(wù)器,該服務(wù)器當(dāng)前正在讀取您正在試圖刪除的日志之一,則本語句不會(huì)起作用,而是會(huì)失敗,并伴隨一個(gè)錯(cuò)誤。

不過,如果從屬服務(wù)器是休止的,并且您碰巧清理了其想要讀取的日志之一,則從屬服務(wù)器啟動(dòng)后不能復(fù)制。

總結(jié)

到此這篇關(guān)于MySQL安全刪除binlog日志的文章就介紹到這了,更多相關(guān)MySQL安全刪除binlog日志內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論