viernes, 15 de julio de 2011

Mysqldump. Error no 28. ¿Que hago?

Hacia días que venia lidiando con una Base de datos que tenia que migrar de un servidor viejo (una PC de escritorio literalmente) a un servidor decente y como la gente. Necesitaba hacer un backup y la BD pesaba alrrededor de 140 MB. Al intentar el famoso mysqldump resultó que me daba un error (Indicado como Error no 28 ), diciendo que no había espacio suficiente en el disco. Pero mi disco tenía mas de la mitad de espacio vacio!!

Estuve rabiando mas de dos días con el problema, hasta que di con la solución, la cual era bastante obvia por cierto. Si bien mi disco tenia espacio, la partición donde estaba montado el directorio raíz estaba llena. Como no se podía liberar espacio, decidí cambiar la configuración de Mysql.

El archivo a tocar es:

/etc/mysql/my.cnf

Y basta con encontrar la siguiente linea resaltada en negrita:

#
# * IMPORTANT
#   If you make changes to these settings and your system uses apparmor, you may
#   also need to also adjust /etc/apparmor.d/usr.sbin.mysqld.
#

user    = mysql
socket  = /var/run/mysqld/mysqld.sock
port    = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir  = /tmp
skip-external-locking

y cambiar el directorio que MySQL usará como temporal, por otro ubicado en otra partición con espacio suficiente. No olviden que el nuevo directorio debe tener permisos de escritura y lectura para el usuario mysql. Cosa que se soluciona dándole permisos 777. (Lectura, escritura y ejecución para todos).

Despues de hacer eso, es necesario reiniciar el servicio de MySQL con la siguiente linea:

$sudo service mysql restart

O bien, detener y luego iniciar el servicio:

$sudo service mysql stop

$sudo service mysql start

Luego de eso, no tuve más problemas. Saludos!

No hay comentarios:

Publicar un comentario