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.proc
statut, 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 mysqldump
commande.
J'ai environ 2000 procédures de magasin. Cela peut-il être la raison de l'erreur?
59.9kB assword: 59.9kB
? Cela fait-il partie du message d'erreur?pv
avant d'entrer le mot de passe sur l'hôte de destination.Réponses:
Cette erreur:
... 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.
la source
Je viens d'avoir le même problème, cela a été corrigé en émettant une commande, en supposant que le répertoire de données mysql est sur / var / lib / mysql / mysql
myisamchk -q -r / var / lib / mysql / mysql / proc
Source: http://dev.mysql.com/doc/refman/5.0/en/myisam-repair.html
la source