Linux系統崩潰后怎么修復數據庫
有時Linux系統崩潰了,尤其在工作電腦上,往往導致數據庫數據丟失,需要馬上修復,減少損失,本文就來介紹一下Linux系統奔潰后修復數據庫技巧。
Linux系統奔潰后修復數據庫技巧
問題描述與分析:
突然發現機器無法登錄,感覺是遠程中斷了,馬上接到電話,測試數據庫無法使用。進入機房檢查發現系統無法啟動,報錯:no such file or directory 。。。 這該如何是好,一個出身DBA的我要搞定系統的問題,還是要加強學習。網上的解決方案提示了我,要先用CD-ROM或U盤啟動到系統的救援模式(rescue mode),然后掃描VG信息,手工激活VG卷,將LV掛載后將數據庫所需文件通過網絡或移動設備進行備份。之后大家就隨意弄了。數據保住了,心情平靜了一大半。
處理方法:
1. 使用CD-ROM或U盤啟動到系統的救援模式rescue mode (這里指的是操作系統安裝盤)
2. vgscan --掃描vg信息
3. vgdisplay --查看vg信息
4. vgchange -ay vg卷組名 --激活vg
5. lvdisplay --查看lv信息
6. mount 路徑lv名 新掛載點 --掛載lv
7. 將掛載后的盤上的相關數據庫內容通過網絡與移動設備進行備份。
8. 修復操作系統或重新安裝
9. 將備份的數據庫文件COPY回正常系統
10 。 安裝oracle軟件并恢復數據庫
總結:上述問題最好還是不要碰到,當然此故障也再一次提醒了我們DBA,備份的重要性。切記切記再切記。
補充:MySQL 數據庫常用命令
create database name; 創建數據庫
use databasename; 進入數據庫
drop database name 直接刪除數據庫,不提醒
show tables; 顯示表
describe tablename; 查看表的結構
select 中加上distinct去除重復字段
mysqladmin drop databasename 刪除數據庫前,有提示。
顯示當前mysql版本和當前日期
select version(),current_date;
數據庫維護方法
在MySQL使用的過程中,在系統運行一段時間后,可能會產生碎片,造成空間的浪費,所以有必要定期的對MySQL進行碎片整理。
當刪除id=2的記錄時候,發生的現象
這個時候發現磁盤的空間并沒有減少。這種現象就叫做碎片化(有一部分的磁盤空間在數據刪除以后(空),還是無法被操作系統所使用。)
常見的優化:
# alter table xxx engine myisam;
# optimize table t1;
注意: 在實際開發的過程中,上面兩個語句盡量少使用,因為在使用的過程中,MySQL的表的結構會整體全部重新整理,需要消耗很多的資源,建議在凌晨兩三點鐘的時候執行。(在linux下有定時器腳本可以執行,crontab)
數據庫修復相關文章: