ServBay에서 MySQL/MariaDB 업그레이드 및 마이그레이션 방법
개요
로컬 개발 중 프로젝트 요구사항이나 최신 기능, 보안 업데이트를 활용하기 위해 ServBay 환경에서 MySQL 또는 MariaDB 데이터베이스의 기본 버전을 변경해야 할 수 있습니다. 본 문서는 데이터 백업 및 복원 등 필수 단계를 포함하여, 이러한 작업을 안전하게 수행할 수 있도록 명확하고 자세한 절차를 제공합니다.
적용 사례
- 최신 버전 업그레이드: 새로운 기능, 성능 개선 및 보안 패치 확보.
- 프로젝트 호환성 테스트: 다양한 데이터베이스 버전에서 애플리케이션의 동작을 검증.
- 특정 프로젝트 의존성 대응: 일부 프로젝트는 특정 버전의 데이터베이스 사용을 요구할 수 있음.
사전 준비
- ServBay가 설치 및 실행 중일 것.
- 기본적인 명령줄(터미널) 사용 방법 이해.
- 현재 데이터베이스의
root
사용자 비밀번호 인지. - 신규 버전 설치와 데이터베이스 백업을 위한 충분한 디스크 공간 확보.
작업 절차
아래는 MariaDB 10.11에서 MariaDB 11.3으로 전환하는 예시입니다. MySQL 버전 변경 시에도 기본적인 절차는 동일합니다.
1. 기존 버전 데이터베이스 백업
버전 전환 전, 반드시 현재 데이터베이스의 모든 데이터를 완벽하게 백업하는 것이 좋습니다. 이를 통해 데이터 유실을 방지하고, 호환성 문제 발생 시 복원 지점을 확보할 수 있습니다.
mysqldump
도구를 사용하여 데이터베이스를 백업할 수 있습니다. 터미널을 열고 다음 명령을 실행하세요.
bash
mysqldump -uroot -p --all-databases --opt > mariadb_backup.sql
1
-u root
: 데이터베이스에root
사용자로 접속.-p
:root
비밀번호 입력을 요구.--all-databases
: 모든 데이터베이스 백업.--opt
: 백업 효율과 이식성을 위한 여러 옵션 모음. (--add-drop-table
,--add-locks
,--create-command
,--disable-keys
,--extended-insert
,--lock-tables
,--quick
,--set-charset
등 포함)> mariadb_backup.sql
: 백업 결과를 현재 작업 디렉터리(일반적으로 사용자 홈 폴더~
)의mariadb_backup.sql
파일로 저장.
명령 실행 후 MariaDB의 root
비밀번호를 입력하세요. 명령 수행 중에는 별다른 출력이 없으며, 완료되면 프롬프트가 다시 나타납니다. 백업 파일 크기는 데이터베이스 용량에 따라 다르니, 반드시 mariadb_backup.sql
파일이 비어있지 않은지 확인하세요.
2. 새로운 버전 설치
ServBay 앱을 실행하고 패키지(Packages) 탭으로 이동하세요. 데이터베이스 항목에서 MariaDB 또는 MySQL을 찾아, 전환하려는 신규 버전(예: MariaDB 11.3)을 선택한 뒤 설치 버튼을 클릭합니다.
ServBay가 신규 버전을 다운로드하고 설치할 때까지 기다리세요.
3. 기존 데이터베이스 버전 비활성화
신규 버전 설치 후, 다시 패키지(Packages) 탭으로 이동합니다. 현재 실행 중인 구 버전 데이터베이스(예: MariaDB 10.11)를 찾아, 상태 표시기(보통 녹색 원형 아이콘)를 클릭하여 비활성화합니다. 아이콘 색상이 회색으로 바뀝니다.
4. 신규 데이터베이스 버전 활성화
구 버전을 비활성화한 뒤, 방금 설치한 신규 데이터베이스(예: MariaDB 11.3)를 찾아 상태 표시기를 클릭하여 활성화하세요. 상태 표시기가 녹색으로 바뀌면 새로운 버전이 정상적으로 시작된 것입니다.
5. 신규 버전을 기본 버전으로 설정
신규 버전 활성화 및 구 버전 비활성화만으로는 시스템에서 자동으로 신규 버전을 사용하지 않습니다. ServBay 설정에서 명확하게 기본 데이터베이스 버전을 지정해야 합니다.
ServBay 앱의 설정(Settings) 패널로 이동하여, 데이터베이스 관련 설정에서 MySQL 또는 MariaDB의 기본 버전 항목을 찾습니다. 드롭다운 메뉴에서 조금 전에 활성화한 버전(예: MariaDB 11.3)을 선택하세요.
패널 하단의 Apply(적용) 버튼을 클릭하여 변경 사항을 저장하세요.
6. 기본 버전 설정 확인
다시 패키지(Packages) 패널로 돌아가면, 신규 버전(예: MariaDB 11.3) 옆에 '기본(Default)' 표시가 있는 것을 확인할 수 있습니다.
7. 터미널에서 기본 버전 확인
터미널을 열고 다음 명령어로 시스템에서 사용 중인 기본 데이터베이스 버전이 제대로 변경되었는지 확인합니다.
bash
mysql -V
1
출력 결과에 새로 설정한 버전 정보(예: mysql Ver 11.3.2-MariaDB ...
)가 표시됩니다.
8. 데이터베이스 백업 복원
이제 이전에 백업한 데이터를 새로운 데이터베이스에 복원합니다. 터미널에서 아래 명령을 실행하세요.
bash
mysql -uroot -p < mariadb_backup.sql
1
-u root
: 데이터베이스에root
로 접속.-p
:root
비밀번호 입력 요구.< mariadb_backup.sql
:mariadb_backup.sql
파일의 내용을 입력으로 전달하여 데이터 복원.
명령어 실행 후 새 버전의 데이터베이스 root
비밀번호를 입력하세요(보통 구 버전과 동일, 새로 변경하지 않았다면). 복원 시간은 백업 파일 크기에 따라 달라집니다.
주의: 복원 도중 터미널에 경고나 오류 메시지가 나타날 수 있습니다. 버전 간 호환성 차이, 백업 파일에 구 버전 특화 기능(특정 스토리지 엔진, 함수, DEFINER
절 등)이 있을 경우 주로 발생합니다. 일반적인 웹 개발 환경에서는 대부분 무시해도 되지만, 실제 서비스 환경이나 복잡한 애플리케이션은 반드시 꼼꼼히 확인 및 대응하세요.
9. 데이터 완전 복원 확인
복원 완료 후, 데이터베이스에 로그인하여 데이터가 정상적으로 복원되었는지 확인합니다.
bash
mysql -uroot -p
1
비밀번호 입력 후 MariaDB/MySQL 콘솔이 나타나면, 아래 명령으로 데이터베이스 목록을 확인합니다.
sql
SHOW DATABASES;
1
이후 각 데이터베이스와 테이블을 조회하거나, 쿼리를 실행해 모든 데이터가 올바르게 복원되었고 애플리케이션에서 정상적으로 접근 가능한지 점검합니다.
주의사항
- 데이터 호환성: MySQL/MariaDB는 최대한 호환성을 유지하지만, 주요 버전 업그레이드(예: 5.7→8.0, MariaDB 10.x→11.x) 시에 호환성 변경점이 있을 수 있습니다. 반드시 공식 문서에서 상세 변경사항을 확인하세요.
- 설정 파일: ServBay는 데이터베이스 각 버전에 대해 개별 설정 파일(예:
my.cnf
또는my.ini
)을 관리합니다. 구 버전에서 설정을 커스터마이즈했다면, 이러한 변경 내역을 신 버전 설정 파일로 직접 반영해야 합니다. 설정 파일 경로는 대개/Applications/ServBay/etc/mysql/버전번호/my.cnf
와 같습니다. - 성능: 신 버전 데이터베이스는 기본값 설정이나 내부 동작이 다를 수 있습니다. 전환 후 애플리케이션 성능 테스트를 진행하고, 필요한 경우 새 버전에 맞춰 추가 설정을 조정하세요.
- 포트: 기본적으로 ServBay는 모든 데이터베이스 버전을 표준 포트(3306)로 구성합니다. 기본 버전 전환만으로 포트는 변경되지 않습니다. 여러 버전을 동시에 구동하려면 각기 다른 포트를 수동으로 할당해 설정 파일을 수정해야 합니다.
자주 묻는 질문 (FAQ)
- Q: 신규로 설치한 데이터베이스 버전이 시작되지 않습니다.
- A: ServBay 패키지 패널의 상태 아이콘 및 로그 파일을 확인하세요. 데이터베이스 로그는 보통 ServBay 설치 경로의
var/log/mysql
또는var/log/mariadb
디렉터리에 있습니다. 로그에서 설정 오류, 포트 중복, 권한 문제 등 원인을 파악할 수 있습니다.
- A: ServBay 패키지 패널의 상태 아이콘 및 로그 파일을 확인하세요. 데이터베이스 로그는 보통 ServBay 설치 경로의
- Q: 데이터베이스 복구 중 오류가 발생합니다.
- A: 오류 메시지를 꼼꼼히 확인하세요. 주요 오류원은 문자셋 문제(이 경우
mysqldump
에--default-character-set=utf8mb4
추가),DEFINER
권한 관련, 또는 백업 파일의 손상입니다. 대용량 데이터베이스의 경우,mydumper
/myloader
등 병렬 백업·복구 도구를 사용하는 것도 방법입니다.
- A: 오류 메시지를 꼼꼼히 확인하세요. 주요 오류원은 문자셋 문제(이 경우
- Q: 백업 및 복구 없이 바로 버전만 전환해도 되나요?
- A: 특히 메이저 버전 업그레이드 시, 절대 권장하지 않습니다. 데이터 구조 불일치, 손상, 유실 위험이 있으니 백업 및 복원이 가장 안전한 방법입니다.
- Q: 버전 전환 후 웹사이트/앱이 데이터베이스에 연결되지 않습니다.
- A: ServBay에서 신규 데이터베이스가 성공적으로 시작됐고, 기본 버전으로 설정되어 있는지 반드시 확인하세요. 애플리케이션의 연결 설정(호스트명
127.0.0.1
또는localhost
, 포트 기본 3306, 사용자명 및 비밀번호)이 올바른지 점검하십시오.
- A: ServBay에서 신규 데이터베이스가 성공적으로 시작됐고, 기본 버전으로 설정되어 있는지 반드시 확인하세요. 애플리케이션의 연결 설정(호스트명
요약
이 문서에서 안내하는 절차를 따르면, ServBay 환경에서 MySQL 또는 MariaDB의 기본 버전을 안전하고 원활하게 전환할 수 있습니다. 주요 단계는 데이터 백업, 신규 버전 설치·활성화, ServBay에서 기본 버전 지정, 마지막으로 데이터 복원입니다. 항상 백업 단계를 가장 중시하고, 전환 후 데이터 일치와 애플리케이션 정상 동작 여부를 꼭 확인하십시오.