mysql Cambiar directorio de bases de datos datadir

Imagen de luicho
0 puntos

Esto fue realizado con Ubuntu 8.10 desktop i386

Supongamos que queremos cambiar el directorio donde mysql guarda las bases de datos de:
/var/lib/mysql a: /ruta/mysql

1.- Detenemos a mysql
sudo /etc/init.d/mysql stop

2.- Copiamos el directorio /var/lib/mysql en /ruta/mysql
sudo cp -R /var/lib/mysql /ruta/mysql

3.- Borramos los archivos ib_logfile
sudo rm /ruta/mysql/ib_logfile*

4.- Cambiamos el propietario de los archivos de /ruta/mysql
sudo chown -R mysql:mysql /ruta/mysql

5.- Editamos el archivo /etc/mysql/my.cnf
sudo gedit /etc/mysql/my.cnf

Cambiamos la linea: datadir = /var/lib/mysql
Por la linea: datadir = /ruta/mysql

6.- Detenemos apparmor:

sudo /etc/init.d/apparmor stop

7.- Editamos el archivo /etc/apparmor.d/usr.sbin.mysqld

sudo gedit /etc/apparmor.d/usr.sbin.mysqld

le agregamos las siguientes lineas al final (antes de la llave })

/ruta/mysql/ r,
/ruta/mysql/** rwk,

8.- Arrancamos apparmor

sudo /etc/init.d/apparmor start

9.- Arrancamos mysql

sudo /etc/init.d/mysql start

Después que chequear que todas las bases de datos están bien podemos borrar el directorio /var/lib/mysql

Imagen de welias
+1
0
-1

Es muy bueno tu tutorial. Muchas gracias

+1
0
-1
Imagen de academo
+1
0
-1

Debo decir que siempre uso esta guia pero es la primera vez que comento, MUCHAS GRACIAS!! :D me ha servido en diversas ocasiones de manera perfecta :D

+1
0
-1

Hay 10 tipos de personas, las que conocen binario y las que no

Imagen de mama21mama
+1
0
-1

Hola,

los archivos los tenia en un ide, pero hacia un ruido mortal.

Y hace horas que renegaba, con estos paso pude pasar los datos a un disco sata.

Ahora espero poder dormir en silencio.

Gracias.

+1
0
-1

mi blog
mama libre

Imagen de ponisio
+1
0
-1

La verdad ahora con la nube este procedimiento lo hace sencillo

+1
0
-1
Imagen de yojarmye
+1
0
-1

Buen manual, pero en mi caso no me funciono del todo.
En mi version de "Ubuntu 8.04.4 LTS", despues de hacer todo lo indicado no me arrancaba el mysql.
El problema era causado por "Apparmor". Cuando lo paraba me levantaba bien el Mysql.

Buscando info en san google, encontre que se debia ejecutar:
"aa-complain /usr/sbin/mysqld".
Una vez hecho esto, arranque AppArmor y mysql y todo OK.

Na mas.

+1
0
-1
Imagen de jprimoldi
+1
0
-1

Excelentemente explicado los pasos! Felicitaciones al autor.

Algo que queria agregar es que si la carpeta 'data' (carpeta donde por default mysql guarda las tablas) está en una particion aparte, por ejemplo en una particion compartida entre Ubuntu y Windows, la carpeta en la que se monta esta particion debe tener como propietario el usuario "root" (chown root:root) sino mysql no tendrá permisos para modificarla y se mostrará en pantalla problemas con el archivo "mysqld.socket".

Espero esto le sirva a alguien.

+1
0
-1

JPRimoldi