2

I have about 40 databases on localhost powered by xampp 5.6.15. Some of them use MyISAM and others InnoDB.

The database has been corrupt and phpMyAdmin was permanently outputing error messages. I tried many things suggested on stackexchange's websites and I almost managed to get back to normal.

However, there is still this message in phpMyAdmin when clicking on a table name:

#1036 - Table 'pma__recent' is read only

From my readings, this seems caused by innodb_force_recovery = 1 in xampp\mysql\bin\my.ini file.

Unfortunately, if I comment out innodb_force_recovery, MySQL cannot be started, probably because there are still errors in the database.

I called mysqlcheck -c -u root -p --all-databases from a terminal. The log tells that some tables are not existing in engine (whilst they should).

How should I proceed to get back to normal?

1

This a draft of my ongoing attempts to solve the issue.

The first steps I suggest are:

  1. Stop the MySQL server
  2. Backup the whole database folder mysql/data
  3. Start the server again
  4. Check the MySQL databases individually for possible errors: mysqlcheck -u root -p some_database_name

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.