我們的伺服器在 140 天的正常運作時間重新啟動(未啟動)後崩潰了。它運行的是 Plesk,由於它由 Online.net 託管,因此我能夠運行恢復系統並存取我的資料。它正在運行一個帶有一些資料庫和表的 MySQL 伺服器。我需要訪問資料庫並匯出它們,以便重新安裝伺服器。伺服器運行的是CentOS,恢復系統是Ubuntu 12.04。有什麼方法可以取得資料庫或啟動原始 MySQL 伺服器嗎?
謝謝你!
答案1
在預設的 CentOS 6 系統上,mysql 將其檔案儲存在以 `/var/lib/mysql 為根的樹中
將檔案從崩潰的系統複製/var/lib/mysql/...
到/etc/my.cnf
安全的地方。
- 建置CentOS系統並安裝mysql。
- 關閉(如果已啟動)新系統上的 mysql 服務
- 將已儲存的
my.cnf
檔案複製到/etc
新系統上 - 刪除新系統樹的內容
/var/lib/mysql
。 - 將已儲存的 mysql 樹的內容複製到
/var/lib/mysql
新系統上。 - 啟動mysql服務(所有內容都劃線)。
如果幸運的話,系統將啟動並運行,您將能夠檢查它是否有資料遺失等。
如果失敗,您將必須查看日誌並根據發現的內容採取適當的措施。
筆記:這裡重要的是使用從崩潰的系統中恢復的資料副本。
現在也考慮定期備份您的資料。
答案2
首先,您需要確保分割區(mysql 資料目錄所在的分割區)安裝在復原系統上的某個位置(例如 /mnt/old_root)。
然後 chroot 到這個目錄:
chroot /mnt/old_root
然後嘗試啟動mysql:
/etc/init.d/mysql start
最後轉儲你想要的資料庫:
mysqldump -u admin -p`cat /etc/psa/.psa.shadow` database_name > database_name.sql