O MySQL relata o erro em um servidor Plesk para Linux: Não é possível carregar do mysql.<table_name>. A tabela provavelmente está corrompida
imprimir- 0
Sintomas
-
A atualização do Plesk falha/conclui com a seguinte mensagem:
ERROR while trying to upgrade APSC SQL database from 11.1.0
Check the error reason(see log file: /var/log/plesk/install/plesk_17.5.3_installation.log), fix and try againNo arquivo de log mencionado acima, a seguinte mensagem de erro pode ser encontrada:
ERROR 1548 (HY000) at line 67: Cannot load from mysql.proc. The table is probably corrupted
...
mysqldump: Couldn't execute 'SHOW VARIABLES LIKE 'gtid\_mode'': Native table 'performance_schema'.'session_variables' has the wrong structure (1682) -
A migração é concluída com o seguinte aviso:
[Migration] Failed to copy content of database 'DB_NAME'
Migration tools tried to perform operation in 3 attempts: Command execution failed on the source server 'source' (203.0.113.2) with non-zero exit code.
command: MYSQL_PWD="$(cat)" mysqldump -h localhost -P 3306 -uadmin --quick --quote-names --add-drop-table --default-character-set=utf8 --set-charset --routines hardcore > /tmp/db-dumps/DB_NAME.sql
exit code: 2
stdout:
stderr: mysqldump: Couldn't execute 'SHOW FUNCTION STATUS WHERE Db = 'DB_NAME'': Cannot load from mysql.proc. The table is probably corrupted (1548) -
Um processo de backup é concluído com o seguinte aviso:
Warning : mysql "Database"
Not all the data was backed up into /var/lib/psa/dumps/..../databases/Database successfully. mysqldump: Couldn't execute 'SHOW FUNCTION STATUS WHERE Db = 'Database'': Cannot load from mysql.proc. The table is probably corrupted (1548) -
As operações em bancos de dados no phpMyAdmin falham com:
Errors occurred while executing: mysqldump: Couldn't execute 'SHOW FUNCTION STATUS WHERE Db = 'db_name'': Cannot load from mysql.proc. The table is probably corrupted (1548) -
A seguinte mensagem de erro aparece no Plesk em Ferramentas e configurações > Servidores de banco de dados :
Error: Cannot load from mysql.user. The table is probably corrupted
e o ícone de status do MySQL (localhost) está acinzentado
Causa
A mysql.<table_name>
tabela está quebrada ou a estrutura de uma coluna na tabela está incorreta.
Resolução
-
Conecte-se ao servidor Plesk via SSH .
-
Conserte a mesa quebrada:
-
Se
mysql.proc
estiver corrompido:# MYSQL_PWD=`cat /etc/psa/.psa.shadow` mysql -uadmin mysql -Ne"REPAIR TABLE mysql.proc"
+------------+--------+--------+----+
| mysql.proc | repair | status | OK |
+------------+--------+--------+----+ -
Se
mysql.user
estiver corrompido:# MYSQL_PWD=`cat /etc/psa/.psa.shadow` mysql -uadmin mysql -Ne"REPAIR TABLE mysql.user"
+------------+--------+--------+----+
| mysql.user | repair | status | OK |
+------------+--------+--------+----+
-
-
Atualize as tabelas do sistema MySQL:
# MYSQL_PWD=`cat /etc/psa/.psa.shadow` /usr/bin/mysql_upgrade --force -uadmin --upgrade-system-tables -
Reinicie o serviço MySQL. O comando depende do servidor MySQL instalado e do sistema operacional:
# service mysql restart
# service mariadb restart