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

MySQL安全刪除binlog日志的詳細步驟

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

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

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

2. 查看二進制日志

show binary logs;
或
show master logs;
或
show slave logs;

3. 查詢binlog日志

  • 查詢第一個binlog日志
show binlog events;
  • 查詢指定binlog日志
show binlog events in 'mysql-bin.000001'

4. 安全清理binlog日志

可以直接刪除 binlog 文件,但是可以通過 mysql 提供的工具來刪除更安全,因為purge 會更新 mysql-bin.index中的條目,而直接刪除的話,mysql-bin.index文件不會更新。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;”命令,該命令將刪除所有二進制日志,新日志的編號從“000001”開始,命令如下

    reset master;
    

5. 設置自動清理MySQL binlog日志

若想一勞永逸可以配置自動清理,需要在MySQL配置文件my.cnf中配置

5.1 永久生效

在my.cnf中配置"expire_logs_days"參數(shù)

-- 1. CentOS默認位置/etc/my.cnf 
[root@localhost log]# vim /etc/my.cnf 

-- 2. 在[mysqld]下配置

-- 3. 自動清理15天前的binlog,默認值為0,表示從不刪除。 
expire_logs_days = 15

-- 4. 配置后需要重啟MySQL數(shù)據(jù)庫

5.2 臨時生效

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

清除binlog對從mysql的影響

如果您有一個活性的從屬服務器,該服務器當前正在讀取您正在試圖刪除的日志之一,則本語句不會起作用,而是會失敗,并伴隨一個錯誤。

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

總結

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

相關文章

最新評論