วันพฤหัสบดีที่ 16 มกราคม พ.ศ. 2557

วิธีแก้ MySQL #1146 - Table 'xxx.xxxxx' doesn't exist







ปัญหานี้จะเจอเมื่อเราทำการย้าย ฐานข้อมูล MySQL โดยการเข้าไป Copy เอา DBFile ที่อยู่ใน Folder DATA มาเก็บไว้ แล้วทำการวาง DBFile ที่ Copy มา กลับคืนเข้าไป ถ้า MySQL เรา ใช้ MyISAM เป็น Engine จะไม่มีปัญหาอะไร แต่เมื่อไหร่ที่ทำแบบนี้กับ InnoDB จะเกิดปัญหา Table 'xxx.xxxxx' doesn't exist ทันที

วิธีแก้คือ



1.เข้าไปที่เครื่องที่เดิมที่ไป Copy DBFile มา จากนั้นให้ไป Copy ไฟล์ที่ขึ้นต้นด้วย ibxx เช่น ib_logfile0 , ibdata1 ทั้งหมด

2. เข้าไปยัง Folder DATA ของ Mysql เครื่องที่เกิดปัญหา 
3. ทำการปิด Service ของ MYSQL ก่อน ไม่งั้นระบบจะไม่ยอมให้ทำการใดๆกับไฟล์
4. ทำการ วาง ไฟล์ที่ Copy มาทับลงไป
5. เปิด Service ของ Mysql เป็นอันเสร็จสิ้นครับ

1 ความคิดเห็น: