Sunday, August 15, 2010

การกู้ข้อมูลจากฐานข้อมูล MySQL Storage Engine แบบ InnoDB (Forcing InnoDB Recovery)

เริ่มมากันแล้ว ปัญหาฐานข้อมูล InnoDB เสีย
อ้างอิง: http://dev.mysql.com/doc/refman/5.0/en/forcing-recovery.html

1) เปิดไฟล์คอนฟิกของ MySQL ดาต้าเบสเซิร์ฟเวอร์ ด้วยโปรแกรม Notepad หรือ Wordpad
C:\Program Files\JHCIS\MySQL\my.ini
ค้นหา [mysqld] แล้วแทรกบรรทัด innodb_force_recovery = 4 ลงไป
บันทีกการแก้ไข

[mysqld]
innodb_force_recovery = 4

2) รีสตาร์ตเซอร์วิสของ MySQL ดาต้าเบสเซิร์ฟเวอร์
คลิก Start > All Programs > MySQL-JHCIS > MySQL Service Stop
คลิก Start > All Programs > MySQL-JHCIS > MySQL Service Start

3) หากเซอร์วิสของ MySQL ดาต้าเบสเซิร์ฟเวอร์ ทำงานได้ปกติ ก็จะสามารถติดต่อฐานข้อมูลได้ ให้ทำการสำรองข้อมูล (Backup) ออกมาด้วยโปรแกรม MySQL Administrator จะได้ไฟล์ jhcisdb.sql

4) นำไฟล์ jhcisdb.sql ที่ได้จากการสำรองข้อมูล (Backup) ไปทดสอบนำเข้า (Restore) ที่เครื่องคอมพิวเตอร์อื่น (ต้องหามา) เพื่อให้มั่นใจว่า ไฟล์สำรองข้อมูลนั้นใช้ได้

5) หากมั่นใจว่าไฟล์สำรองข้อมูลที่ทำมาใช้การได้ ให้ทำการลบฐานข้อมูล jhcisdb เดิม ทิ้งไป
คลิก Start > All Programs > MySQL-JHCIS > MySQL Administrator คลิกเมนู Catalogs คลิกเม้าส์ปุ่มขวาที่รายการ jhcisdb แล้วเลือกเมนู Drop Schema

6) นำไฟล์ jhcisdb.sql ที่ได้จากการสำรองข้อมูล (Backup) มานำเข้า (Restore) กลับเข้าไปในเครื่องคอมพิวเตอร์ที่จัดเก็บฐานข้อมูลระบบงาน JHCIS

7) เปิดไฟล์คอนฟิกของ MySQL ดาต้าเบสเซิร์ฟเวอร์ ด้วยโปรแกรม Notepad หรือ Wordpad
C:\Program Files\JHCIS\MySQL\my.ini
ค้นหา [mysqld] แล้วลบบรรทัด innodb_force_recovery = 4 ออกจากไฟล์
บันทีกการแก้ไข

8) รีสตาร์ตเซอร์วิสของ MySQL ดาต้าเบสเซิร์ฟเวอร์
คลิก Start > All Programs > MySQL-JHCIS > MySQL Service Stop
คลิก Start > All Programs > MySQL-JHCIS > MySQL Service Start

เสร็จสิ้นขั้นตอน ก็คาดหวังว่า เครื่องคอมพิวเตอร์ของคุณ พร้อมกับ ฐานข้อมูล jhcisdb จะสามารถใช้งานได้ปกติ

No comments: