Submit a ticketCall us

whitepaperYour VM Perplexities Called, and They Need You to Read This.

Virtualization can give you enormous flexibility with future workloads and can be a key enabler for other areas, like cloud computing and disaster recovery. So, how can you get a handle on the performance challenges in your virtual environment and manage deployments without erasing the potential upside? Learn the four key areas you need to be focusing on to help deliver a healthy and well-performing data center.

Get your free white paper.

Home > Success Center > Storage Manager (STM) > STM - Knowledgebase Articles > Run myisamchk to resolve crashed MariaDB tables

Run myisamchk to resolve crashed MariaDB tables

Created by Interspire Import, last modified by Milton Harris on Jul 14, 2017

Views: 3,710 Votes: 2 Revisions: 20


This article provides information on myisamchk and MariaDB tables.


What does a myisamchck do and why is myisam important?

MyISAM is the default table structure for MySQL databases and as opposed to MS-SQL for example which can do individual row locks, MyISAM does entire table locks and doesn't allow another modification until the first Update is completed and the transaction is completed


MyISAMDBCHK will check, compress and repair MariaDB tables.

Note: Storage Manager versions 5.6 and later use MariaDB. For earlier versions, MYSQL is used.

For versions prior to v5.6, substitute MySQL for MariaDB.


When to run a myisamchk?

If the following error appears in the web console or logs:

java.sql.SQLException: Table " is marked as crashed and last (automatic?) repair failed.

A myisamchk can be run to fix the crashed tables.

Note: You can find your MariaDB log at the Storage Manager Server \mariadb\data\ location. The file is named machine name.err.


STM versions 5.6 or later


A common cause of crashed tables in MariaDB can be an antivirus/intrusion detection or a backup software or for that matter any software that might try to read/write from MySQL/Mariadb at the same time that MySQL/Mariadb is trying to edit/modify/delete/ add data. MyISAM is very particular about being the only software that should be reading/writing.


If the tables are locked at the same time when Storage Manager is trying to write to them, this can cause corruption of the tables.

To prevent this from happening, you need to add exceptions to these tools so that they cannot access the  \mariadb folder and subfolders at the same time Storage Manager is trying to read/write/modify.


For more information, you may refer to  (© 2016 Mariadb, available at, obtained on July 14, 2017.)


Run myisamchk to fix crashed tables on Windows

  1. Open the services menu and click the Stop button to stop the MariaDB service
  2. Open a command prompt and navigate to \mariadb\data\storage.
  3. Run the following command: for %i in (*.MYI) do ..\..\bin\myisamchk ==defaults-file=..\.\my.cnf -c -r -a -f -v %i




        Check tables for errors


        Recover, this option can fix most issues except unique keys that are not unique


        Analyze distribution of keys


        Force override of old temporary files


        Verbose, this option prints information to the screen

  4. Let the myisamchk complete.
  5. Start the MariaDB and SolarWinds Storage Manager services.


Run myisamchk to fix crashed tables on Linux

  1. Stop the MariaDB service.
  2. Run the following command: /usr/bin/storage_manager_server_stop.
  3. Go to /mariadb/bin.
  4. Run the following command: ./myisamchk --defaults-file=../my.cnf -c -r -a -f -v ../data/storage/*.MYI.
  5. Let myisamchk complete.
  6. Start the SolarWinds Storage Manager /usr/bin/storage_manager_server start.


Repair individual tables

Sometimes, myisamchk fails to fix all the corrupted tables. When this happens, users can perform the following procedure to repair individual tables instead of using *.MYI as a wild card to go after all index files

Note: It is strongly recommended to create a backup of the crashed table(s) before starting with the below steps. Under some circumstances, the following steps may cause data loss to the corrupted tables. Possible causes include but are not limited to file system errors.

  1. Make sure that the database services are running.
  2. Open a command prompt and navigate to the \mariadb\bin directory.
  3. Run the following command: mysql -u -p storage.
    The MariaDB username and password can be found in the \Storage_Manager_Server/webapps/ROOT/bin/ file.
  4. Execute the command to repair all table indexes.

For more information regarding table repairs, refer to the following link: (© 2016 Mariadb, available at, obtained on July 14, 2017.)



Last modified