在给mysql数据库备份时,报错:mysqldump: Got error: 145: Table './jxzhtopenfire/ofoffline' is marked as crashed and should be repaired when using LOCK TABLES。
如上错误的解决方法如下:
1、进入数据库对该表进行检测:
mysql> check tables ofoffline;
+-------------------------+-------+----------+-------------------------------------------------------+
| Table | Op | Msg_type | Msg_text |
+-------------------------+-------+----------+-------------------------------------------------------+
| jxzhtopenfire.ofoffline | check | warning | Table is marked as crashed |
| jxzhtopenfire.ofoffline | check | warning | 1 client is using or hasn't closed the table properly |
| jxzhtopenfire.ofoffline | check | error | Record at pos: 1175720 is not remove-marked |
| jxzhtopenfire.ofoffline | check | error | record delete-link-chain corrupted |
| jxzhtopenfire.ofoffline | check | error | Corrupt |
+-------------------------+-------+----------+-------------------------------------------------------+
5 rows in set
2、使用repair解决方法:
mysql> repair table ofoffline;
+-------------------------+--------+----------+------------------------------------------+
| Table | Op | Msg_type | Msg_text |
+-------------------------+--------+----------+------------------------------------------+
| jxzhtopenfire.ofoffline | repair | warning | Number of rows changed from 2349 to 2451 |
| jxzhtopenfire.ofoffline | repair | status | OK |
+-------------------------+--------+----------+------------------------------------------+
再次进行dump备份就可以了。
备份mysql数据库时报错:mysqldump: Got error: 145: Table './jxzhtopenfire/ofoffline' is marked as crashed and should be repaired when using LOCK TABLES。
这样的错误。
搜索了一下,发现只要在mysqldump的时候加上--lock-tables=false就可以解决问题。
mysqldump -u root -pMyPassword DbName --lock-tables=false > data.sql