Cambiar de directorio la base de datos MySQL

por | 16/03/2017

En entornos de producción con bases de datos MySQL es recomendable cambiar el path por defecto de la base de datos. Normalmente se encuentra en la partición / root. Yo recomiendo siempre asignarle una partición dedicada solamente para MySQL. Os mostraré como cambiar de directorio la base de datos MySQL. Cuando digo cambiar la base de datos, me refiero a los archivos de la base de datos, no a los ficheros de configuración, etc…

Primero de todo comprobamos donde se encuentran ubicadas nuestras bases de datos, para ello haremos login en nuestro MySQL.

mysql –uusuario -p

una vez dentro de MySQL, haremos un select de para ver el directorio de la base de datos:

select @@datadir;

Por defecto en Ubuntu, MySQL usa la ruta /var/lib/mysql para guardar los ficheros de la base de datos. Si vamos al directorio podremos ver los archivos que usan nuestras bases de datos.

A continuación, primero de todo paramos el servicio de MySQL y lo que vamos a hacer es copiar todos los archivos a la ruta donde queremos mover nuestras bases de datos. Para ello usamos el comando scp o rsync.

rsync –av /var/lib/mysql /nueva/ruta/mysql

Y antes de borrar el directorio antiguo donde encontrábamos los archivos de MySQL, renombraremos la carpeta por si tuviéramos que revertir los cambios.

Finalmente solo nos quedará decirle a MySQL donde se encuentra la ruta de las bases de datos. Para ello vamos al fichero de configuración y modificaremos la ruta. El fichero de configuración se encuentra en:

/etc/mysql/mysql.conf.d/mysql.conf

Editaremos donde pone datadir= y pondremos la nueva ruta.

Una vez cambiada la nueva ruta procederemos a levantar el servicio de MySQL y si hemos hecho todo correctamente levantará sin problemas teniendo nuestras bases de datos en la partición que queríamos.

4 pensamientos en “Cambiar de directorio la base de datos MySQL

  1. Rafael Favereau

    Hola Norman, sabes como hacer este cambio para instalaciones de MySQL sobre Windows ¿? En particular, MySQL 5.7 sobre Windows 10. He leído que solo se debe cambiar el directorio en la entrada “datadir” del archivo de configuración my.ini, pero he visto también a muchos reclamando que ese cambio no funciona… A mi al menos no me funciona. Muchas gracias, saludos desde Chile.

    1. Norman FS Autor

      Hola Rafael,

      entiendo que una vez cambiada la ruta has reiniciado servicio de MySQL, no? Que MySQL usas en Windows? Wamp, Xampp o nativo?

      Saludos

  2. Franklin Arias

    Hola! encontre la solución para el tema de Windows haciendo lo siguiente:

    Ejecute un robocopy para copiar exactamente todos los archivos incluso sus permisos.

    robocopy c:\ruta_origen d:\rutadestino /S /E /R:2 /W:10 /COPYALL /SECFIX

    Espero les sea de utilidad, saludos.!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *