Tema:
Cuando el servicio mailbox no se inicia se puede deber a una corrupción en las bases de datos mysql.
Una manera de solucionarlo es detener zimbra, iniciar mysql en modo "safe", hacer backup de las bases, eliminar las bases corruptas, crear las bases respectivas, restaurar el backup, e iniciar zimbra.
Lo primero es detener zimbra:
su - zimbra
zmcontrol stop
Para iniciar mysql en modo seguro agregamos la línea en /opt/zimbra/conf/my.cnf bajo la sección [mysqld] :
innodb_force_recovery = 6
Iniciamos el servidor mysql de zimbra:
su - zimbra
mysql.server start
Verificamos si se esta ejecutando:
mysql.server status
Creamos un dump de las bases de datos:
source ~/bin/zmshutil ; zmsetvars
mkdir /backup
mkdir /backup/zimbra
mkdir /backup/zimbra/database
mkdir /backup/zimbra/database/mysqldb
mysql --batch --skip-column-names -e "show databases" | grep -e mbox -e zimbra > /backup/zimbra/database/mysqldb.txt
for db in `cat /backup/zimbra/database/mysqldb.txt`; do
/opt/zimbra/mysql/bin/mysqldump $db -S $mysql_socket -u root --password=$mysql_root_password > /backup/zimbra/database/mysqldb/$db.sql
echo "Dump de $db realizado"
done
Hacemos un drop de todas las bases de datos:
for db in `cat /backup/zimbra/database/mysqldb.txt |grep mbox`
do
mysql -u root --password=$mysql_root_password -e "drop database $db"
echo -e "Drop de $db realizado"
done
mysql -u root --password=$mysql_root_password -e "drop database zimbra"
Ahora, con las bases corruptas eliminadas, procedemos a reiniciar mysql en modo normal, para esto comentamos la línea innodb_force_recovery = 6 en el archivo /opt/zimbra/conf/my.cnf y reiniciamos mysql como usuario zimbra:
mysql.server restart
Podemos mirar el log de mysql en zimbra para saber si todo esta bien:
tail -f /opt/zimbra/log/mysql_error.log
Una vez iniciado mysql en modo normal procedemos a crear las bases e importar los dumps:
for db in `cat /backup/zimbra/database/mysqldb.txt`
do
mysql -e "create database $db character set utf8"
echo "Created $db"
done
mysql zimbra < /backup/zimbra/database/mysqldb/zimbra.sql
for sql in /backup/zimbra/database/mysqldb/mbox*
do
mysql `basename $sql .sql` < $sql
echo -e "`basename $sql .sql` actualizada \n"
done
Finalmente iniciamos zimbra:
zmcontrol start
Comentarios
Muy buen aporte Raza ... bye
Muy buen aporte Raza ...
bye
;)
No puedo borrar tablas de zimbra
Hola buenos dias, tu articulo esta muy bueno estuve solucionando mi problema siguiendo los pasos que se indican pero al momento de llegar a eliminar las bases de datos corruptas, no me permite hacerlo, me sale el siguiente error:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/opt/zimbra/db/mysql.sock' (2)
He estado buscando la solucion en internet pero no he encontrado nada, gracias de nuevo por el excelente artículo y por favor si pudieras ayudarme con esta inquietud te lo agradeceria mucho tambien.
Saludos.
Eso indica que mysql no se
Eso indica que mysql no se esta ejecutando. Sigue el manual paso a paso, en la primera sección se indica como iniciar mysql.
-----
Visita este [url=http://www.sindominio.net/ayuda/preguntas-inteligentes.html]link[/url] :evil:
[img]http://www.bbspot.com/Images/News_Features/2003/01/os_quiz/debian.jpg[/img]
(adsbygoogle = window.adsbygoogle || []).push({});
Mysql si se esta ejecutando
Hola como estas gracias por la respuesta, he comprobado los pasos iniciales y veo que mysql si esta corriendo es mas me conecto usando la consola de mysql y hago el drop desde alli para probar y me sale el error de perdida de conexion durante la consulta, el disco duro del servidor que tenemos en la empresa tuvo problemas en el sistema de archivos por lo que tuve que pasarle un fsck al momento de reiniciarlo. Estoy usando la consola de mysql y me salen varios errores al momento de poner algunos comandos. ¿Es posible reinstalar mysql sin afectar la configuracion actual de zimbra? En el servidor estoy usando Centos.
Saludos.
Debes cargar de nuevo las variables
debes de volver a cargar la variables de zimbra con este comando que no indico al inicio:
$source ~/bin/zmshutil ; zmsetvars
Con eso ya deberia correr.
Saludos Cordiales.
Martin Lugo
Martin Lugo Palmadera
martinlugo.networksolutions-peru.com
mlugop@hotmail.com