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á