1

I have a MySQL server which is running with out any error. Accidentally i removed all .ibd and .frm files. But server is not throwing any error. It continue data insert and all operations even using command line.

I found that its using ibdata files temporarily to stored and access the records.

If i try to access all records it show no records found. and it show no tables available for 'show tables' but it doesn't throw any error message if i access using particular table name

How do i over come this scenario. If any .ibd or .frm file is deleted it should throw error if i access the table.

dgrogan
  • 2,587
  • 1
  • 17
  • 21
KJP
  • 11
  • 2

1 Answers1

0

Try CHECK TABLE my_table EXTENDED;

Edit:

REPAIR TABLE tbl_name EXTENDED should help you to bring back corrupted data. Please make a backup of the table itself and the whole database first.

Solrac
  • 924
  • 8
  • 23
  • It's return error. But during select / insert / update / Delete it doesn't throw any error. Is there a way to instruct MySQL server to the flush the records directly in to the table file. Like in my.cnf or any arguments during startup – KJP Aug 04 '15 at 09:45
  • I just edited my answer to add the REPAIR TABLE statement... There is however a FLUSH statement which closes all open tables, pointers, etc. Link to it is right here http://dev.mysql.com/doc/refman/5.6/en/flush.html – Solrac Aug 04 '15 at 18:55