Cambiar el datadir de mysql en Ubuntu

La siguiente es una version más breve y traducida de: http://www.ubuntugeek.com/how-to-change ... ctory.html, para la nueva ubicación voy a poner /home/miusuario/mysql, que es la parte que no formateo cuando reinstalo GNU/Linux

Los pasos son los siguientes, en la terminal

Parar MySQL:

Código:

sudo /etc/init.d/mysql stop
Copiar los datos a la nueva ubicación:

Código:

sudo cp -R -p /var/lib/mysql /home/miusuario/mysql
Al copiar, se copian algunos archivos que sobran, y se recrean nuevamente al arrancar mysql de nuevo

Código:

sudo rm /home/miusuario/mysql/*
Les avisará que hay directorios que no se pudieron borrar (ahi estan las DBs), fijense que no se usa -R

Editamos la ubicacion en la configuración de MySQL

Código:

gksu gedit /etc/mysql/my.cnf
Buscamos datadir, copiamos la linea, comentamos una y cambiamos el /var/lib/mysql por la nueva ubicacion, en mi caso /home/miusuario/mysql/

Desde Ubuntu 7.10 (Gutsy Gibbon) se usa AppArmor para definir que aplicaciones pueden acceder a que directorios.

Código:

sudo gedit /etc/apparmor.d/usr.sbin.mysqld
Copiamos y pegamos las lineas con /var/lib/mysql, comentamos los originales con # (para conservarlas), y cambiamos en las que pegamos el "/var/lib/mysql" por "/home/miusuario/mysql", sin cambiar nada más en la linea.

Guardamos y reiniciamos el AppArmor

Código:

sudo /etc/init.d/apparmor reload
Reiniciamos MySQL

Código:

sudo /etc/init.d/mysql restart
Según la guía ya debería reinciarse bien y sin errores, algo que yo hice en el medio fue

Código:

chown -R mysql:mysql /home/miusuario/mysql

Publicado por:
ignatius
Foro
Ubuntu