Last_SQL_Error: Error Table is marked as crashed and should be repaired

30. September 2016 MySQL, SysAdmin 0
Last_SQL_Error: Error Table is marked as crashed and should be repaired

Today we had an issue with our Master-Master replication. Master2 was throwing the below error and the replication was stopped

Last_SQL_Errno: 145
Last_SQL_Error: Error 'Table './exampledb/exampletable' is marked as crashed and should be repaired' on query. Default database: 'livewbmy_db'. Query: 'INSERT INTO `exampletable` (`challenge`, `response`, `hashkey`, `expiration`) VALUES ('XBUL', 'xbul', 'a9e0f4e3dxxxxxccccccc0c8f8f1', '2016-09-29 21:10:03')'

Since its a Master-Master replication, we need to be careful before repairing the table on Master2.

Solution

  • Master1 – mysql -e "stop slave;"
  • Master2 – mysql -e "stop slave;"
  • Master2 – service mysqld stop
  •  run the below now to repair the table.
    [[email protected] ~]# myisamchk /var/lib/mysql/exampledb/exampletable.MYI -r
    - recovering (with sort) MyISAM-table '/var/lib/mysql/exampledb/exampletable.MYI'
    Data records: 35564
    - Fixing index 1
    - Fixing index 2
    Data records: 35522
  • Master2 – Now start the slave with mysql -e “start slave;” and observe the show slave status \G and make sure Seconds_Behind_Master: has reached 0
  • Master1 – Start the slave with mysql -e “start slave;” and observe show slave status \G; and make sure it is in sync.

 

Please comment if found helpful.


Leave a Reply

Your email address will not be published.