MySQL binlog日誌存放位置的修改

來源:互聯網
上載者:User

MySQL binlog日誌存放位置的修改

最近項目上裝的MySQL服務,分配的磁碟空間太小了,導致binlog日誌兩天時間就能打滿,這裡記錄下處理方式。

mysql的binlog日誌是一個很重要的日誌,以事件形式記錄了所有的DDL和DML(除了資料查詢語句)語句,還包含執行的消耗的時間,在資料丟失的緊急情況下,我們可以利用binlog日誌功能進行資料恢複。

1、問題上面說了,預設情況下binlog日誌預設在/var/spool/mail/root路徑下,磁碟空間比較小很快就被binlog打滿了,為了保證項目上能正常使用,之前是維護人員手動清理和備份。在找到重新掛盤和修改binlog日誌路徑方法前,先給現場的配置下自動清理。

2、配置自動清理在my.cnf檔案中,這個檔案路徑不知道的話執行mysql --help | grep 'Default options' -A 1,就會列出檔案的路徑來

 修改設定檔,vi /etc/my.cnf,找到logbin的部分

路徑因為測試環境沒法掛盤,隨便寫了個路徑,下面建立我們上面指定的檔案夾mkdir -p /home/logs,然後重啟mysql的時候報錯了,經過一番折騰後,發現建的檔案夾必須賦許可權,淚目。。。chown -R mysql.mysql /home/logs

然後重啟service mysql restart,去建立的目錄下看看,已經有最新的日誌了,我的日誌比較多是因為我重啟過好幾次,每重啟一次產生一次新的。

到這裡更換路徑和自動清理的工作就完成了。

下面列幾個常用的命令

0、查看日誌開啟狀態 show variables like 'log_%'; 

1、查看所有binlog日誌列表 show master logs;

2、查看最新一個binlog日誌的編號名稱,及其最後一個操作事件結束點 show master status;

 

3、重新整理log日誌,立刻產生一個新編號的binlog記錄檔,跟重啟一個效果 flush logs;

4、清空所有binlog日誌 reset master;

5、日誌查看,因為是二進位檔案沒法用vi等開啟,可以用mysql的mysqlbinlog開啟,/usr/bin/mysqlbinlog /home/logs/mysql-bin.000001,當然每個人路徑可能不一樣,這個只能自己去找了。

我這是新日誌,也沒做什麼操作,所以日誌內容沒什麼東西,具體的日誌內容解釋,以及如何通過binlog恢複資料,以後有時間的話再寫寫。

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.