断电,导致innodb部分表坏了,phpmyadmin中看到该表显示为使用中,并报了,#145 - Table './shbc/user_order_logs' is marked as crashed and should be repaired。
解决办法如下:
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)