修改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恢復數據,以后有時間的話再寫寫。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM