Cambiar ruta de acceso por defecto de la carpeta data de mysql en ubuntu linux

Instrucciones probadas en:

  • Ubuntu 14.04, 64 bits + MySQL 5.6.19
  • Ubuntu 15.10, 64 bits + MySQL 5.6.27

Por defecto la carpeta de datos de MySQL es /var/lib/mysql. Supongamos que queremos usar /home/data:

Crea la carpeta nueva

mkdir /home/data

Cambia los permisos de la carpeta nueva para que pertenezca al usuario y grupo mysql:

chown -R mysql:mysql /home/data/*

Edita el fichero de configuración de mysql /etc/mysql/my.cnf. En Ubuntu 15 el fichero de configuración está en /etc/mysql/mysql.conf.d/mysqld.cnf

nano /etc/mysql/mysql.conf.d/mysqld.cnf

Busca la línea que dice “datadir = /var/lib/mysql” y cambia la ruta antigua por la nueva

datadir = /home/data

En Ubuntu se usa AppArmor para gestionar la seguridad, así que también tenemos que decirle a AppArmor que mysql tiene permisos sobre la nueva carpeta:

nano /etc/apparmor.d/usr.sbin.mysqld

Añade las siguientes líneas al final:

/home/mysql-data r,
/home/mysql-data/* rwk,

Reinicia AppArmor

/etc/init.d/apparmor restart

Detén el servidor

/etc/init.d/mysql stop

Copia los ficheros de la carpeta de datos antigua a la nueva. Asegúrate de no copiar los ficheros ib_arch_log_0000000000, ib_logfile0, etc.

cp -rp /var/lib/mysql/* /home/data
rm /home/data/ib*
rm /home/data/*.cnf
rm /home/data/debian*

Reinicia el servidor

/etc/init.d/mysql start

Bualá

    • mario
    • 27 junio 2017

    y para hacerlo en centos como le hago?

  1. Lo siento Mario, CentOS es una distribución que deriva de RedHat, por lo que los procedimientos son un pelín diferentes. No he usado nunca ni CentOS, ni RedHat, pero no debería variar mucho, a fin de cuentas no deja de ser Linux. Los cambios lógicos serían: en vez de nano, usar el editor de texto que venga por defecto con CentOS, o el que más te guste; saltarse el paso de Apparmor (o buscar cuál es el equivalente en CentOS y asignar los nuevos permisos); y reemplazar la carpeta “/etc/init.d/” por la carpeta en la que estén los daemons en CentOS. Si lo conseguiste y nos quieres contar los pasos, adelante!. Un saludo y suerte.

  1. Aun no hay enlaces.

@jfcapristan