mysql主從復制日志如果我們不小心很可能導致mysql啟動不了同時導致主從配置出問題,下面我來介紹安全的刪除mysql主從二進制日志的方法.
刪除日志之前,先檢查主從服務器當前使用的日志文件,代碼如下:
- //首先登錄 要刪除日志的服務器的 mysql 終端
- #mysql -u root -pxxxxx
- //檢查復制主服務器狀態
- Mysql>show master status
- +------------------+-----------+--------------+----------------------------------------+
- | File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
- +------------------+-----------+--------------+----------------------------------------+
- | mysql-bin.000097 | 541677824 | www | test,mysql,information_schema |
- +------------------+-----------+-------------+----------------------------------------+
復制主服務器當前正在使用的日志文件是:mysql-bin.000097,代碼如下:
- //檢查復制從服務器狀態
- Mysql>show slave statusG
- *************************** 1. row ***************************
- Slave_IO_State: Waiting for master to send event
- Master_Host: 202.102.152.3
- Master_User: replication
- Master_Port: 3306
- Connect_Retry: 60
- Master_Log_File: mysql-bin.000103
- Read_Master_Log_Pos: 675107897
- Relay_Log_File: www-relay-bin.000443
- Relay_Log_Pos: 675097929
- Relay_Master_Log_File: mysql-bin.000103
- Slave_IO_Running: Yes
- Slave_SQL_Running: Yes
- Replicate_Do_DB: www
- Replicate_Ignore_DB: test,mysql,information_schema
- Replicate_Do_Table:
- Replicate_Ignore_Table:
- Replicate_Wild_Do_Table:
- Replicate_Wild_Ignore_Table:
- Last_Errno: 0
- Last_Error:
- Skip_Counter: 0
- Exec_Master_Log_Pos: 675107897
- Relay_Log_Space: 675098125
- Until_Condition: None
- Until_Log_File:
- Until_Log_Pos: 0
- Master_SSL_Allowed: No
- Master_SSL_CA_File:
- Master_SSL_CA_Path:
- Master_SSL_Cert:
- Master_SSL_Cipher:
- Master_SSL_Key:
- Seconds_Behind_Master: 0
- Master_SSL_Verify_Server_Cert: No
- Last_IO_Errno: 0 --Vevb.com
- Last_IO_Error:
- Last_SQL_Errno: 0
- Last_SQL_Error:
復制從服務器當前正在使用的復制主服務器日志文件是:mysql-bin.000103,當前正在使用的日志文件是000097,我需要做的是刪除00095號之前的所有日志(預留出最近幾天的日志),代碼如下:
Mysql>purge master logs to ‘mysql-bin.000095;
#ll /usr/local/mysql/var/
從結果中發現,編號000097之前的所有日志都已經刪除,如果還有其他服務器需要清理日志,重新按上面的順序進行就可以.
新聞熱點
疑難解答