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.