1. MySQL Yum 저장소 추가하기
MySQL을 CentOS 7에 설치하려면 먼저 공식 Yum 저장소를 시스템에 추가해야 합니다.
1-1. MySQL Yum 저장소 RPM 패키지 다운로드:
wget https://dev.mysql.com/get/mysql80-community-release-el7-5.noarch.rpm
참고: 위 URL이 작동하지 않는 경우 MySQL 공식 Yum 저장소 페이지에서 최신 버전의 링크를 찾아 사용하세요.
1-2. 다운로드한 RPM 패키지 설치:
rpm -Uvh mysql80-community-release-el7-5.noarch.rpm
1-3. 최신 GPG 키 임포트:
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
GPG 키가 변경되었거나 문제가 발생하는 경우 MySQL 공식 사이트에서 최신 키를 확인하세요.
(선택 사항) Yum 캐시 초기화:
yum clean all
2. MySQL 서버 설치
저장소가 성공적으로 추가되었다면 이제 MySQL 서버를 설치할 차례입니다.
yum install mysql-community-server -y
설치 중 GPG 키 관련 메시지가 나타날 수 있습니다. 이때는 "y"를 입력하여 계속 진행합니다.
3. MySQL 서비스 시작 및 자동 실행 설정
3-1. MySQL 서비스 시작:
systemctl start mysqld
3-2. 서비스 상태 확인:
systemctl status mysqld
3-3. 시스템 부팅 시 자동 시작 설정:
systemctl enable mysqld
4. 보안 설정 및 원격 접속 구성
4-1. 일회용 비밀번호 찾기:
MySQL 8.x에서는 최초 시작 시 root 계정에 대한 일회용 비밀번호를 생성합니다. 이를 로그 파일에서 확인할 수 있습니다.
grep 'temporary password' /var/log/mysqld.log
4-2. 첫 로그인 및 비밀번호 변경:
발견한 일회용 비밀번호로 MySQL 클라이언트에 접속합니다.
mysql -u root -p
로그인 후 바로 강력한 새로운 비밀번호로 변경해야 합니다. 예를 들어:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'SecurePass_2023!';
4-3. 비밀번호 정책 조정:
테스트 환경에서 간단한 비밀번호를 사용하려는 경우 다음 명령어로 정책을 완화할 수 있습니다.
SET GLOBAL validate_password.policy = LOW;
SET GLOBAL validate_password.length = 6;
이후 간단한 비밀번호로 재설정 가능합니다:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'simple123';
주의: 생산 환경에서는 반드시 안전한 비밀번호를 사용하세요.
4-4. 원격 접근 권한 부여:
원격으로 접근 가능한 새 사용자를 만들거나 특정 IP에서만 접근을 허용하도록 설정할 수 있습니다. 아래는 모든 호스트에서 접근 가능한 root 사용자 생성 예제입니다.
CREATE USER 'admin'@'%' IDENTIFIED BY 'remoteAccess_2023!';
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
위 코드에서는 'admin'이라는 새로운 사용자를 만들었지만, 필요에 따라 'root'도 사용할 수 있습니다.
5. 방화벽 설정 및 원격 연결 테스트
firewalld가 활성화된 경우 MySQL 포트(3306)를 열어야 원격 연결이 가능합니다.
firewall-cmd --permanent --add-port=3306/tcp
firewall-cmd --reload
다른 호스트에서 다음과 같이 MySQL 클라이언트를 통해 연결을 테스트합니다.
mysql -h [서버_IP] -u admin -p
접속이 성공하면 원격 연결 설정이 완료된 것입니다.