Alterando o diretório de dados MySQL no EC2

Alterando o diretório de dados MySQL no EC2

Tenho uma instância EC2 configurada e estou tentando mover o diretório de dados MySQL para armazenamento montado.

O diretório de dados padrão é:

/opt/bitnami/mysql/data

Copiei esse diretório inteiramente para

/mnt/mysql_data

Então mudei o caminho em my.cnf para o seguinte:

datadir=/mnt/mysql_data

e renomeei o diretório antigo para ter certeza de que estou usando o novo.

Dei permissões adequadas ao MySQL no novo diretório - mas nem acho que o MySQL esteja tentando chegar lá. Quando tento reiniciar o mysql recebo erros sobre o diretório de dados 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

Estou faltando uma etapa de configuração em algum lugar? Já vi outras pessoas com problemas resolverem isso ajustando o apparmor, mas nem tenho o arquivo "/etc/apparmor.d/usr.sbin.mysqld" que eles deveriam estar alterando. Além disso, meu problema não parece ser o mysql não conseguir acessar o novo diretório - é que ele ainda está usando o antigo.

Responder1

Acontece que o script de controle da Amazon "/opt/bitnami/ctlscript.sh" está executando um script de configuração mysql em /opt/bitnami/mysql/scripts/ctl.sh

Irritantemente, este script substitui algumas configurações importantes do arquivo my.cnf. Atualizá-los lá corrige o problema.

Responder2

Você tem que configurar o mysql para usar o novo diretório de log, edite /etc/mysql/my.cnf (neste caso estou usando Debian) e atualize

general_log_file = /mnt/data/log

Boa sorte.

informação relacionada