Mysql 数据库errlog中有错误日志,提示:Got error 127 when reading table xxx!Mysql 版本:『mysql Ver 14.14 Distrib 5.6.35, for Linux (x86_64) using EditLine wrapper』,下面是具体的解决办法:
错误日志:
2017-02-03 14:48:39 27759 [ERROR] Got error 127 when reading table ‘./sudops_com/sudops_options’
2017-02-03 14:48:41 27759 [ERROR] Got error 127 when reading table ‘./sudops_com/sudops_options’
2017-02-03 14:49:33 27759 [ERROR] Got error 127 when reading table ‘./sudops_com/sudops_options’
修复办法:
mysql> use sudops_com mysql> check table sudops_options; +--------------------------------+-------+----------+----------------------------------------------------------+ | Table | Op | Msg_type | Msg_text | +--------------------------------+-------+----------+----------------------------------------------------------+ | sudops_com.sudops_options | check | warning | Table is marked as crashed | | sudops_com.sudops_options | check | warning | 2 clients are using or haven't closed the table properly | | sudops_com.sudops_options | check | warning | Size of datafile is: 2488268 Should be: 2488132 | | sudops_com.sudops_options | check | error | Wrong record length 1374362 of 1374495 at 9956 | | sudops_com.sudops_options | check | error | Corrupt | +--------------------------------+-------+----------+----------------------------------------------------------+ 5 rows in set (0.32 sec) mysql> repair table sudops_options; +--------------------------------+--------+----------+------------------------------------------------------+ | Table | Op | Msg_type | Msg_text | +--------------------------------+--------+----------+------------------------------------------------------+ | sudops_com.sudops_options | repair | info | Wrong block with wrong total length starting at 9956 | | sudops_com.sudops_options | repair | warning | Number of rows changed from 351 to 350 | | sudops_com.sudops_options | repair | status | OK | +--------------------------------+--------+----------+------------------------------------------------------+ 3 rows in set (0.19 sec) repair之后再次check下表状态: mysql> check table sudops_options; +--------------------------------+-------+----------+----------+ | Table | Op | Msg_type | Msg_text | +--------------------------------+-------+----------+----------+ | sudops_com.sudops_options | check | status | OK | +--------------------------------+-------+----------+----------+ 1 row in set (0.03 sec) 可以看到已经OK了 :)
再次看下mysql的 errlog:
2017-02-03 14:51:05 27759 [ERROR] /usr/sbin/mysqld: Table ‘./sudops_com/sudops_options’ is marked as crashed and should be repaired
2017-02-03 14:51:05 27759 [ERROR] /usr/sbin/mysqld: Table ‘./sudops_com/sudops_options’ is marked as crashed and should be repaired
2017-02-03 14:51:05 27759 [ERROR] /usr/sbin/mysqld: Table ‘./sudops_com/sudops_options’ is marked as crashed and should be repaired
2017-02-03 14:51:15 27759 [Note] Found 350 of 351 rows when repairing ‘./sudops_com/sudops_options
mysql表已经修复成功!