The MyISAM database engine is the default database engine for MySQL database. It provides a variety of indexing and field management functions. Its ability to swiftly perform the read operations on the databases is one of the biggest reasons of MySQL being so popular as a backend for Web applications. However, sometimes the MyISAM database tables do get corrupt because of several reasons.
These reasons could be power surges, virus infections, abrupt system shutdown when the database is open, etc. In such cases, you should look to employ certain corrective measures to recover MySQL database. However, if you are unable to do so then you should use a third-party MySQL repair tool to do the needful.
Consider a scenario wherein you encounter the following error message while working on a MySQL database table:
“MySQL error code 145 = Table was marked as crashed and should be repaired”
The most possible cause of this error message is that the database has corrupted due to not having enough space for the database.
To resolve the problem and extract the database after appearance of the aforementioned error message, you can perform the following methods:
Make a copy of the database.
Stop the mysqld server.
Run the myisamchk -r -q to repair the index file without affecting the file. It is used to perform quick recovery of the database.
If the previous step fails, then try the myisamchk –safe-recover command. It is used to perform a detailed scan and repair of the database.
If the previous step fails, then you should create a blank data and index files by using the following commands:
shell> mysql db_name
mysql> SET autocommit=1;
mysql> TRUNCATE TABLE tbl_name;
Copy the old data file in the new one. This should resolve the issue.
These methods will be able to solve the problem. However, if you are unable to resolve the issue then you should use a third-party MySQL repair tool to recover MySQL database. Such read-only tools are non-destructive in nature and do not overwrite the original data while scanning the corrupted database.
Stellar Phoenix Database Recovery for MySQL is a MySQL recovery software that enables you to repair MySQL database. It is capable of repairing the corrupted databases created in MySQL 4.x or 5.x versions. This MySQL repair tool is able to recover various database components such as tables, views, etc. It supports the recovery of various MySQL files of .myd, .myi, .frm, .ibdata, .ibd, and .frm from InnoDB and MyISAM database engines. This MySQL recovery tool is compatible with Windows 7, Vista, Server 2003, XP, and 2000.