Cambiar el directorio de datos MySQL en EC2

Cambiar el directorio de datos MySQL en EC2

Tengo una instancia EC2 configurada y estoy intentando mover el directorio de datos de MySQL al almacenamiento montado.

El directorio de datos predeterminado es:

/opt/bitnami/mysql/data

He copiado ese directorio por completo a

/mnt/mysql_data

Luego cambié la ruta en my.cnf a la siguiente:

datadir=/mnt/mysql_data

y cambié el nombre del directorio anterior para asegurarme de que estoy usando el nuevo.

Le he dado los permisos adecuados a MySQL en el nuevo directorio, pero ni siquiera creo que MySQL esté intentando llegar allí. Cuando intento reiniciar MySQL me sale errores sobre el directorio de datos anterior:

sudo /opt/bitnami/ctlscript.sh start mysql
111122 18:50:50 mysqld_safe Logging to '/opt/bitnami/mysql/data/mysqld.log'.
touch: cannot touch `/opt/bitnami/mysql/data/mysqld.log': No such file or directory
chown: cannot access `/opt/bitnami/mysql/data/mysqld.log': No such file or directory
111122 18:50:50 mysqld_safe Starting mysqld.bin daemon with databases from /opt/bitnami/mysql/data
/opt/bitnami/mysql/bin/mysqld_safe: 739: cannot create /opt/bitnami/mysql/data/mysqld.log: Directory nonexistent
eval: 1: cannot create /opt/bitnami/mysql/data/mysqld.log: Directory nonexistent
111122 18:50:50 mysqld_safe mysqld from pid file /opt/bitnami/mysql/data/ip-10-120-253-190.pid ended
/opt/bitnami/mysql/bin/mysqld_safe: 783: cannot create /opt/bitnami/mysql/data/mysqld.log: Directory nonexistent

¿Me falta algún paso de configuración en alguna parte? He visto a otros con problemas resolverlo ajustando apparmor, pero ni siquiera tengo el archivo "/etc/apparmor.d/usr.sbin.mysqld" que se supone que deben cambiar. Además, mi problema no parece ser que mysql no pueda acceder al nuevo directorio, sino que todavía está usando el anterior.

Respuesta1

Resulta que el script de control de Amazon "/opt/bitnami/ctlscript.sh" está ejecutando un script de configuración de mysql en /opt/bitnami/mysql/scripts/ctl.sh

Es molesto que este script anule algunas configuraciones clave del archivo my.cnf. Actualizarlos allí soluciona el problema.

Respuesta2

Debe configurar mysql para usar el nuevo directorio de registro, edite /etc/mysql/my.cnf (en este caso estoy usando Debian) y actualice

general_log_file = /mnt/data/log

Buena suerte.

información relacionada