EC2에서 MySQL 데이터 디렉터리 변경

EC2에서 MySQL 데이터 디렉터리 변경

EC2 인스턴스가 설정되어 있고 MySQL 데이터 디렉터리를 탑재된 스토리지로 이동하려고 합니다.

기본 데이터 디렉터리는 다음과 같습니다.

/opt/bitnami/mysql/data

해당 디렉토리를 완전히 복사했습니다.

/mnt/mysql_data

그런 다음 my.cnf의 경로를 다음과 같이 변경했습니다.

datadir=/mnt/mysql_data

새 디렉토리를 사용하고 있는지 확인하기 위해 이전 디렉토리의 이름을 바꿨습니다.

나는 새 디렉토리에서 MySQL에 적절한 권한을 부여했지만 MySQL이 거기에 도달하려고 시도하는 것조차 생각하지 않습니다. mysql을 다시 시작하려고 하면 이전 데이터 디렉터리에 대한 오류가 발생합니다.

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

어딘가에 구성 단계가 누락되어 있습니까? 문제가 있는 다른 사람들이 의류를 조정하여 문제를 해결하는 것을 보았지만 변경해야 할 "/etc/apparmor.d/usr.sbin.mysqld" 파일조차 없습니다. 게다가 내 문제는 mysql이 새 디렉토리에 액세스할 수 없다는 것이 아닌 것 같습니다. 여전히 이전 디렉토리를 사용하고 있다는 것입니다.

답변1

Amazon의 제어 스크립트 "/opt/bitnami/ctlscript.sh"가 /opt/bitnami/mysql/scripts/ctl.sh에서 mysql 구성 스크립트를 실행하고 있는 것으로 나타났습니다.

짜증나게도 이 스크립트는 my.cnf 파일의 몇 가지 주요 설정을 무시합니다. 거기에서 업데이트하면 문제가 해결됩니다.

답변2

새 로그 디렉터리를 사용하려면 mysql을 구성해야 합니다. /etc/mysql/my.cnf(이 경우 Debian을 사용하고 있음)를 편집하고 업데이트하세요.

general_log_file = /mnt/data/log

행운을 빌어요.

관련 정보