断电,导致innodb部分表坏了,phpmyadmin中看到该表显示为使用中,并报了,#145 - Table './shbc/user_order_logs' is marked as crashed and should be repaired。
以前也解决过一次myisam表损坏,请参考:Incorrect key file for table mysql表损坏的修复方法
解决办法如下:
mysql> select * from user_order_logs; ERROR 145 (HY000): Table './shbc/user_order_logs' is marked as crashed and should be repaired mysql> check table user_order_logs; +----------------------+-------+----------+---------------------------------------------------------+ | Table | Op | Msg_type | Msg_text | +----------------------+-------+----------+---------------------------------------------------------+ | shbc.user_order_logs | check | warning | Table is marked as crashed | | shbc.user_order_logs | check | error | Size of datafile is: 1368064 Should be: 1368188 | | shbc.user_order_logs | check | error | Corrupt | +----------------------+-------+----------+---------------------------------------------------------+ 3 rows in set (0.01 sec) mysql> repair table user_order_logs; +----------------------+--------+----------+------------------------------------------------------+ | Table | Op | Msg_type | Msg_text | +----------------------+--------+----------+------------------------------------------------------+ | shbc.user_order_logs | repair | info | Found block that points outside data file at 1368024 | | shbc.user_order_logs | repair | status | OK | +----------------------+--------+----------+------------------------------------------------------+ 2 rows in set (0.17 sec)
转载请注明
作者:海底苍鹰
地址:http://blog.51yip.com/mysql/1790.html