首頁  >  文章  >  資料庫  >  mysql-bin是什麼檔案?

mysql-bin是什麼檔案?

青灯夜游
青灯夜游原創
2019-05-20 15:19:199444瀏覽

mysql-bin是什麼檔案?

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
上一篇:mysqld是什麼?下一篇:mysqld是什麼?