MySQL에서 CREATE SERVER를 사용하면 원격 MySQL 서버를 등록하여 FEDERATED 스토리지 엔진을 활용할 수 있습니다. 그러나 시간이 지나면서 원격 서버의 접속 정보, 포트, 사용자 계정 등이 변경될 수 있으며, 이런 경우 기존 설정을 수정해야 합니다.
이때 사용하는 명령어가 ALTER SERVER입니다.
MySQL ALTER SERVER란?
ALTER SERVER 명령어는 MySQL에서 기존에 등록된 원격 서버의 접속 정보를 변경하는 기능을 제공합니다.
이 명령어를 사용하면 새로운 호스트 주소, 사용자 계정, 비밀번호, 데이터베이스 정보 등을 수정할 수 있으며, 기존의 원격 연결을 유지하면서 변경된 설정을 반영할 수 있습니다.
ALTER SERVER의 주요 기능
- 원격 서버의 호스트 정보 수정
- 등록된 원격 MySQL 서버의 IP 주소 또는 도메인을 변경
- 접속 계정 정보 변경
- 원격 MySQL 서버의 사용자 계정 및 비밀번호 수정 가능
- 데이터베이스 이름 변경
- 원격 데이터베이스의 이름을 새로운 데이터베이스로 수정 가능
- 포트 번호 변경 가능
- 기존의 MySQL 포트(기본 3306)에서 새로운 포트로 변경 가능
- FEDERATED 테이블과 함께 활용 가능
- ALTER SERVER를 통해 FEDERATED 테이블과의 연결을 유지하면서 설정 변경 가능
MySQL ALTER SERVER 기본 문법
ALTER SERVER 서버_이름
OPTIONS (
HOST '새로운_IP_주소',
DATABASE '새로운_DB_이름',
USER '새로운_사용자',
PASSWORD '새로운_비밀번호',
PORT 3307
);
- 서버_이름 → 기존에 생성된 서버의 이름
- HOST → 변경할 원격 MySQL 서버의 IP 주소
- DATABASE → 새로운 데이터베이스 이름
- USER → 새로운 사용자 계정
- PASSWORD → 변경된 비밀번호
- PORT → 변경할 MySQL 포트 번호
ALTER SERVER 사용 예제
1. 원격 MySQL 서버의 IP 주소 변경
ALTER SERVER remote_db
OPTIONS (
HOST '192.168.1.200'
);
기존에 등록된 remote_db 서버의 IP 주소를 192.168.1.200으로 변경하는 예제입니다.
2. 접속 계정 및 비밀번호 변경
ALTER SERVER remote_db
OPTIONS (
USER 'new_user',
PASSWORD 'new_secure_pass'
);
이제 원격 서버 접속 계정이 new_user, 비밀번호가 new_secure_pass로 변경됩니다.
3. 원격 데이터베이스 이름 변경
ALTER SERVER remote_db
OPTIONS (
DATABASE 'new_sales_db'
);
원래 등록된 데이터베이스가 sales_db였다면, 이를 new_sales_db로 변경하는 예제입니다.
4. MySQL 포트 번호 변경
ALTER SERVER remote_db
OPTIONS (
PORT 3307
);
기존의 포트 3306을 3307로 변경하는 예제입니다.
5. 여러 설정을 한 번에 변경
ALTER SERVER remote_db
OPTIONS (
HOST '192.168.1.210',
USER 'updated_user',
PASSWORD 'updated_pass',
DATABASE 'updated_db',
PORT 3308
);
위 예제는 IP 주소, 사용자 계정, 비밀번호, 데이터베이스 이름, 포트 번호까지 한 번에 수정하는 방법을 보여줍니다.
ALTER SERVER 활용 시 주의할 점
1. FEDERATED 엔진 활성화 필요
- ALTER SERVER를 사용하려면 MySQL FEDERATED 엔진이 활성화되어 있어야 합니다.
- my.cnf 설정 파일을 열어 다음과 같이 설정합니다.
[mysqld]
federated
- 이후 MySQL을 재시작해야 적용됩니다.
sudo systemctl restart mysql
2. 보안 설정 고려 필요
- 원격 접속 정보를 수정할 때 강력한 비밀번호 설정 필수
- 특정 IP에서만 접근하도록 MySQL 방화벽 설정 권장
3. 데이터 무결성 유지 필요
- 원격 데이터베이스의 이름이 변경될 경우 기존 FEDERATED 테이블과의 연결이 끊길 수 있으므로 주의해야 합니다.
- 필요 시 ALTER TABLE 명령어를 사용하여 FEDERATED 테이블을 수정할 수 있습니다.
4. ALTER SERVER 권한 필요
- ALTER SERVER 명령어를 실행하려면 SUPER 또는 FEDERATED ADMIN 권한이 필요합니다.
GRANT SUPER ON *.* TO 'admin_user'@'%';
FLUSH PRIVILEGES;
5. ALTER SERVER 이후 변경사항 즉시 반영되지 않을 수도 있음
- 변경사항을 즉시 반영하려면 MySQL을 재시작하거나 새로운 세션을 시작해야 합니다.
ALTER SERVER 삭제 방법
만약 원격 서버 정보를 완전히 제거하려면 DROP SERVER 명령어를 사용합니다.
DROP SERVER remote_db;
이렇게 하면 remote_db에 대한 설정이 MySQL에서 삭제됩니다.
MySQL ALTER SERVER 활용 예제 추가
6. 여러 원격 서버를 관리하는 방법
다양한 원격 서버를 등록하고 관리할 수 있습니다.
CREATE SERVER remote_db_1
FOREIGN DATA WRAPPER mysql
OPTIONS (
HOST '192.168.1.101',
DATABASE 'inventory_db',
USER 'admin',
PASSWORD 'pass123',
PORT 3306
);
CREATE SERVER remote_db_2
FOREIGN DATA WRAPPER mysql
OPTIONS (
HOST '192.168.1.102',
DATABASE 'analytics_db',
USER 'analytics_user',
PASSWORD 'analyzepass',
PORT 3306
);
이제 ALTER SERVER를 활용하여 각각의 원격 서버 설정을 필요에 따라 변경할 수 있습니다.
ALTER SERVER remote_db_1
OPTIONS (
HOST '192.168.1.150',
USER 'new_admin',
PASSWORD 'new_pass'
);
이처럼 여러 원격 서버를 쉽게 관리할 수 있습니다.
결론
MySQL ALTER SERVER 명령어는 원격 서버의 IP 주소, 사용자 계정, 데이터베이스 이름, 포트 등을 변경하는 중요한 기능입니다. 이를 통해 동적인 환경에서도 유연하게 원격 서버를 관리하고 분산 데이터베이스 시스템을 최적화할 수 있습니다.
참고 자료
공식 가이드 문서: https://dev.mysql.com/doc/refman/8.0/en/alter-server.html
'DB' 카테고리의 다른 글
[MySQL] CREATE FULLTEXT INDEX 완벽 가이드 사용법(전문 검색[Full-Text Search] 인덱스 활용) (1) | 2025.02.20 |
---|---|
[MySQL] RESET SLAVE / RESET REPLICA 완벽 가이드 사용법(복제 환경 초기화 및 재설정) (0) | 2025.02.20 |
[MySQL] PURGE BINARY LOGS 완벽 가이드 사용법(바이너리 로그 정리) (0) | 2025.02.20 |
[MySQL] DROP SERVER 완벽 가이드 사용법(원격 서버 삭제) (0) | 2025.02.20 |
[MySQL] CREATE SERVER 완벽 가이드 사용법(원격 데이터 소스 등록) (0) | 2025.02.19 |
[MySQL] UNINSTALL PLUGIN 완벽 가이드 사용법(플러그인 삭제) (0) | 2025.02.18 |
[MySQL] INSTALL PLUGIN 완벽 가이드 사용법(플러그인 설치) (0) | 2025.02.18 |
[MySQL] RESET QUERY CACHE 완벽 가이드 사용법(쿼리 캐시 초기화) (0) | 2025.02.18 |