innodb ถ้าอยากได้ข้อมูลย้างในต้องทำไงครับ

ib_logfile0
ib_logfile1

ibdata1

พอดีลูกค้าอยากได้ ไม่ทราบว่ามีวิธีเข้าไปดู หรือว่าเอาข้อมูลแยกออกมาเป็นตัวๆๆได้ไหมครับ

หรือจะ export หรือจะดึงมาเป็น .sql .tar .csv .อื่นๆๆ ได้ไหมครับ ขอความรู้นิดหนึ่งครับ

ถ้าจะแยกเป็นตัวๆ ต้อง config my.cnf เพิ่ม innodb_file_per_table ลงไปครับ

แต่ไม่แน่ใจว่า ถ้ามีข้อมูลอยู่แล้ว config เพิ่ม แล้ว restart ข้อมูลเดิม มันจะแยกเป็นไฟล์ ให้รึป่าว

ไม่เคยลองซักทีแบบนี้

:875328cc:

ถ้า mysql ยังทำงานปกติ ก็ export เป็น .sql

ถ้ากรณีไม่ปกติละครับ พอดีมันมีปัญหาที่ mysql ใน backup ดึงไฟล์ออกมาได้ แต่ไม่ใช่ไฟล์จริง เพราะไฟล์จริงๆๆมันไปอยู่ใน
ib_logfile0
ib_logfile1

ibdata1

ซึ่งผมไม่รู้ว่ามันจะดึงออกมาอย่างไรครับ

กรณีแก้ config ทีหลัง มันไม่แยกไฟล์ให้ครับ

ลองศึกษา tool นี้ดูครับ อาจจะช่วยได้

http://www.percona.com/software/mysql-innodb-data-recovery-tools

ผมก็หาวิธี แงะไฟล์ใน innodb อยู่เหมือนกัน. พอจะมีวิธี ที่จะ list เฉพาะ database name ใน file ibdata1 ไหมครับ.

ibdata มันแบ่งเป็น page ครับ

แต่ละ page คือแต่ละตาราง มี id ระบุ แต่ข้อมูลภายในเป็นแบบไหนต้องไปดูในไฟล์ ชื่อตาราง.frm อีกที