클라우드 Database를 사용하고 있지만 서비스가 안정적이지 못해 별도의 서버에 설치하여 준비하고 있습니다.
현재 사용중인 버전이 MySQL 5.x 이고 데이터베이스 서버는 MariaDB 10.x 버전이라 마이그레이션이 필요한데 몇 가지 고려할 사항이 있어 정보를 공유하려고 합니다.
1. MySQL 5.x 서버에서 작업
데이터베이스 백업: mysqldump 유틸리티를 사용하여 MySQL 5.x 데이터베이스 전체를 백업합니다. --default-character-set=utf8mb4 옵션을 포함하여 백업하는 것을 권장합니다. 해당 옵션을 지정하지 않으면 특정 한글이 깨져서 백업이 될 수 있으니 주의 하세요.
# mysqldump -u [MySQL 5.x 사용자] -p --all-databases --default-character-set=utf8mb4 > backup_mysql5.sql
2. Rocky Linux 9 (MariaDB 10.x) 서버에서 작업
MariaDB 접속: MariaDB 서버에 접속합니다. 데이터베이스 복원: 백업 파일을 MariaDB 10.x 서버에 복원합니다.
# sudo mysql -u root -p
# mysql -u root -p --default-character-set=utf8mb4 < backup_mysql5.sql
3. 마이그레이션 후 점검 및 테스트
MariaDB 10.x에 복원된 데이터베이스의 구조, 데이터, 문자 인코딩을 확인합니다.
PHP 애플리케이션을 MariaDB 10.x 서버에 연결하여 한글 데이터 처리 및 전반적인 기능을 테스트합니다.
주의 사항
MySQL 5.x와 MariaDB 10.x 간의 설정 차이로 인해 예상치 못한 동작 변경이 있을 수 있습니다. 충분한 테스트를 거치는 것이 중요합니다.
특히 데이터 타입, 기본 값 설정 등에서 미묘한 차이가 있을 수 있으므로, 애플리케이션 동작을 꼼꼼히 확인해야 합니다.
서비스를 오픈하기 전에 연결 정보만 변경하여 쉽게 복원이 가능하도록 하는 게 안정적으로 이전할 수 있습니다.