mysql.proc continue de planter, impossible de faire un mysqldump?


9

En raison de certains problèmes avec InnoDB, je vais vider toutes les bases de données sur un nouveau serveur:

mysqldump -E -R --all-databases | pv -b | mysql -u root -p -h new.server          

Le processus de vidage s'est arrêté avec une erreur:

59.9kB assword: 59.9kB 
ERROR 145 (HY000) at line 2970: Table './mysql/proc' is marked as crashed and should 
    be repaired
 228MB 
mysqldump: Got errno 32 on write

J'ai exécuté la commande suivante pour réparer toutes les tables de toutes les bases de données:

mysqlcheck --auto-repair --all-databases

Lorsque j'examine le mysql.procstatut, j'obtiens:

mysql> check table mysql.proc;
+------------+-------+----------+----------+
| Table      | Op    | Msg_type | Msg_text |
+------------+-------+----------+----------+
| mysql.proc | check | status   | OK       |
+------------+-------+----------+----------+
1 row in set (0.02 sec)

Cependant, j'obtiens toujours la même erreur lors de la réexécution de la mysqldumpcommande.

J'ai environ 2000 procédures de magasin. Cela peut-il être la raison de l'erreur?


2
Avez-vous également réparé la destination?
Philᵀᴹ

Qu'est-ce que c'est 59.9kB assword: 59.9kB? Cela fait-il partie du message d'erreur?
Max Vernon

@quanta done ...
Philᵀᴹ

@MaxVernon: c'est un morceau de canalisation de données via pvavant d'entrer le mot de passe sur l'hôte de destination.
quanta

Réponses:


3

Cette erreur:

ERREUR 145 (HY000) à la ligne 2970: la table './mysql/proc' est marquée comme plantée et doit être réparée 228 Mo mysqldump: Got errno 32 lors de l'écriture

... suggère que le problème est en train d'écrire et non de lire, faites donc une réparation sur la base de données de destination.


En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.