標籤:mysql ibdata1
成都MYSQL伺服器磁碟空間清理
2.7.1 項目名稱
成都項目
2.7.2 問題描述
磁碟空間90%
2.7.3 影響範圍
計劃停機
2.7.4 問題分析
資料庫磁碟空間爆滿,查看是記錄檔導致
2.7.5 解決方案
一、操作步驟:
1. 關閉MAP服務
2. 備份資料庫
mysqldump -uroot –pXXXX --quick --routines --add-drop-database --all-databases --add-drop-table > /bak/mysqldump.sql
3. 關閉備用服務端Heartbeat
1) service heartbeat stop
2) cat /proc/drbd,確保狀態如下:
0: cs:Connected ro:Secondary/Primary ds:UpToDate/UpToDate C r----
4. 關閉主服務端heartbeat
1) service heartbeat stop
2) cat /proc/drbd,確保狀態如下:
0: cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate C r----
5. 備份主服務端mysql資料庫檔案
為防止清理失敗,便於回退,在使用mysqldump匯出所有使用者資料庫外,還請將/drbddata/mysql目錄及下面檔案同時備份走,待確認清理成功無問題後方可刪除
登陸主mysql伺服器
ssh [email protected]
關閉mysql服務
service mysql stop
進入drbd目錄
cd /drbddata/
備份drbddata目錄下mysql目錄到備份伺服器
scp -r mysql [email protected]: /backup
對比源檔案夾和目標檔案夾檔案數及大小
6. 刪除主服務端drbddata/mysql中除mysql目錄之外的所有檔案和目錄
rm -f ibdata1
rm -f ib_logfile*
rm –f global/* (刪除相應資料庫目錄下的檔案, 如有多個資料庫,須刪除其它資料庫目錄下的檔案)
7. 修改主服務端my.cnf設定檔增加innodb_file_per_table選項
vi /etc/my.cnf
在[mysqld]後面增加innodb_file_per_table
innodb_file_per_table=1
8. 修改備服務端my.cnf設定檔增加innodb_file_per_table選項
vi /etc/my.cnf
在[mysqld]後面增加innodb_file_per_table
innodb_file_per_table=1
9. 開啟主服務端mysql服務
service mysql start
10. 開啟主服務端heartbeat
1) service heartbeat start
2) cat /proc/drbd,確保狀態如下:
0: cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate C r----
11. 開啟備用服務端heartbeat
1) service heartbeat start
2) cat /proc/drbd,確保狀態如下:
0: cs:Connected ro:Secondary/Primary ds:UpToDate/UpToDate C r----
12. 恢複資料庫
使用mysqldump備份的dump檔案進行還原恢複
a.source /bak/mysqldump.sql
或者
b.mysql –uroot –p < /bak/mysqldump.sql
13. 檢查磁碟使用率是否下降
14. 驗證資料是否正確,資料庫錯誤記錄檔是否有報錯日誌。
15. 開啟MAP服務
二、清理失敗後援動作:
1. 關閉備用服務端Heartbeat
1) service heartbeat stop
2) cat /proc/drbd,確保狀態如下:
0: cs:Connected ro:Secondary/Primary ds:UpToDate/UpToDate C r----
2. 關閉主服務端heartbeat
1) service heartbeat stop
2) cat /proc/drbd,確保狀態如下:
0: cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate C r----
3. 還原/drbddata/mysql原檔案
4. 開啟主服務端heartbeat
1) service heartbeat start
2) cat /proc/drbd,確保狀態如下:
0: cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate C r----
5. 開啟備用服務端heartbeat
1) service heartbeat start
2) cat /proc/drbd,確保狀態如下:
0: cs:Connected ro:Secondary/Primary ds:UpToDate/UpToDate C r----
6. 開啟MAP服務
MYSQL ibdata1空間爆滿處理