Symptoms
-
MariaDB service goes down intermittently with errors such as:
# journalctl -u mariadb
localhost mariadbd[1940]:[ERROR] mariadbd: Table './database_name/table_name' is marked as crashed and should be repaired
Cause
The database files from the error have corrupted tables.
Resolution
-
Go to Domains > example.com > Databases and click Check and Repair for the required database
Command-line solution
-
Linux-based operating systems:
-
Execute the below command substituting required table and database:
# mysqlcheck -r database_name table_name -uadmin -p`cat /etc/psa/.psa.shadow`
-
Windows-based operating systems
-
Open command-line console
cmd.exe
with Administrator privileges. -
Execute below command substituting required table and database:
C:>"%plesk_dir%MySQLbinmysqlcheck" -P3306 -uadmin -p -r database_name table_name
If the password is unknown, reset it according to this KB article.
-
Not all the storage engines in MySQL database support repair of the tables. If storage engine does not support repair the following message will appear:
The storage engine for the table doesn't support repair
In such a case, follow the instructions provided in the article: How to fix InnoDB corruption cases for the MySQL database?