MYSQL ibdata1空間爆滿處理,mysqlibdata1

來源:互聯網
上載者:User

MYSQL ibdata1空間爆滿處理,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  root@10.1.1.81


關閉mysql服務
service mysql stop


進入drbd目錄
cd /drbddata/

備份drbddata目錄下mysql目錄到備份伺服器
scp -r mysql root@10.1.1.118: /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服務

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.