MYSQLibdata1空間爆滿處理
成都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服務