Debido a algunos problemas con InnoDB, voy a volcar todas las bases de datos a un nuevo servidor:
mysqldump -E -R --all-databases | pv -b | mysql -u root -p -h new.server
El proceso de volcado se detuvo con error:
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
Ejecuté el siguiente comando para reparar todas las tablas en todas las bases de datos:
mysqlcheck --auto-repair --all-databases
Cuando examino el mysql.proc
estado, obtengo:
mysql> check table mysql.proc;
+------------+-------+----------+----------+
| Table | Op | Msg_type | Msg_text |
+------------+-------+----------+----------+
| mysql.proc | check | status | OK |
+------------+-------+----------+----------+
1 row in set (0.02 sec)
Sin embargo, sigo teniendo el mismo error cuando vuelvo a ejecutar el mysqldump
comando.
Tengo aproximadamente 2000 procedimientos de tienda. ¿Puede ser esa la razón del error?
mysql
stored-procedures
mysqldump
crash
quanta
fuente
fuente
59.9kB assword: 59.9kB
? ¿Es eso realmente parte del mensaje de error?pv
antes de ingresar la contraseña en el host de destino.Respuestas:
Este error:
... sugiere que el problema es escribir no leer, por lo tanto, realice una reparación en la base de datos de destino.
fuente
Acabo de tener el mismo problema, esto se solucionó emitiendo un comando, suponiendo que el directorio de datos mysql está en / var / lib / mysql / mysql
myisamchk -q -r / var / lib / mysql / mysql / proc
Fuente: http://dev.mysql.com/doc/refman/5.0/en/myisam-repair.html
fuente