mysql的mysql-bin是資料庫的操作日誌文件,如果不做主從複製的話,基本上是沒用的。
例如UPDATE一個表,或是DELETE一些數據,即使該語句沒有匹配的數據,這個命令也會儲存到日誌檔案中,還包括每個語句執行的時間,也會記錄進去的。
這樣做主要有以下兩個目的:
1:資料復原如果你的資料庫出問題了,而你之前有過備份,那麼可以看日誌文件,找出哪個指令導致你的資料庫出問題了,想辦法挽回損失。
2:主從伺服器之間同步資料主伺服器上所有的操作都在記錄日誌中,從伺服器可以根據該日誌來進行,以確保兩個同步。舉例:當單一的mysql伺服器服務使用時,可以將對應的 log-bin=/program/mysql/mysql-bin 該項目註解掉,加上 「#」號碼然後重新啟動 mysql 服務。
如何刪除mysql-bin檔案?
預設情況下mysql會一直保留mysql-bin文件,這樣到一定時候,磁碟可能會被撐滿,雖然文件沒用,但是不建議使用rm指令刪除,這樣有可能會不安全,正確的方法是透過mysql的指令去刪除。
mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2819416 Server version: 5.5.24-0ubuntu0.12.04.1-log (Ubuntu) Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> reset master; Query OK, 0 rows affected (3 min 37.65 sec)
其實關鍵的指令就是reset master;這個指令會清空mysql-bin檔。
另外如果你的mysql伺服器不需要做主從複製的話,建議透過修改my.cnf文件,來設定不產生這些文件,只要刪除my.cnf中的下面一行就可以了。
log-bin=mysql-bin
如果你需要複製,最好控制一下這些日誌檔案保留的天數,可以透過下面的設定設定日誌檔案保留的天數:
expire_logs_days = 7
表示保留7天的日誌,這樣舊日誌會自動被清理掉。
以上是mysql-bin是什麼檔案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!