Rocky Linux 9의 MySQL 8.4 Community RPM 설치 절차입니다. tarball 인스턴스와는 서비스명·설정 경로가 다릅니다. 새 서버를 기준으로 하며 기존 DB가 있으면 백업과 공식 업그레이드 경로를 먼저 확인합니다.
저장소와 설치 후보
OS 버전에 맞는 MySQL 공식 repository RPM을 다운로드해 서명·출처를 확인합니다. 원노트의 EL8·EL9 두 파일을 동시에 설치하지 않습니다. 아래는 EL9 저장소 RPM을 준비한 예시입니다.
sudo dnf install ./mysql84-community-release-el9-1.noarch.rpm
dnf repolist all | grep mysql
dnf list --showduplicates mysql-community-server
sudo dnf install mysql-community-server배포판의 PHP 등 다른 서비스에도 영향을 주는 AppStream 저장소 전체를 비활성화하지 않습니다. MySQL 모듈 충돌이 있다면 해당 OS의 MySQL 저장소 설치 안내에 맞게 필요한 모듈만 조정합니다.
초기 기동과 관리자 설정
sudo systemctl enable --now mysqld
sudo systemctl status mysqld --no-pager
sudo grep 'temporary password' /var/log/mysqld.log
mysql_secure_installation
mysql -uroot -p초기 암호는 보호된 서버 로그에서만 확인하고 바로 새 값으로 변경합니다. 로그의 실제 암호를 문서·셸 명령·스크린샷에 복사하지 않습니다. 초기 데이터 디렉터리가 있는 서버는 임의로 다시 초기화하지 않습니다.
포트와 보관 설정
/etc/my.cnf의 실제 mysqld 섹션에 필요한 값을 추가합니다. 다음은 전용 포트와 바이너리 로그 보관 기간 예시입니다. 운영 복제 지연과 복구 요구 기간을 고려해 보관 값을 결정합니다.
[mysqld]
port=53306
mysqlx=OFF
binlog_expire_logs_seconds=604800설정 검토 후 계획된 재시작으로 반영하고 실제 포트·연결·변수·로그를 확인합니다. 비표준 포트를 쓰면 SELinux와 방화벽 정책도 맞춥니다. datadir 이전은 중지·일관성 백업·파일 컨텍스트·권한·복구 시험이 필요한 별도 작업으로 진행합니다.