CentOS의 아쉬움, Rocky Linux 10이 채우다
그동안 안정적인 서버 운영을 위해 CentOS를 애용하셨겠지만, Red Hat의 CentOS Stream 정책 변경으로 인해 많은 사용자들이 변화를 모색하고 있습니다. 더 이상 CentOS가 RHEL(Red Hat Enterprise Linux)의 다운스트림 역할을 하지 않게 되면서, 안정적인 장기 지원(LTS) 버전을 원하는 사용자들에게는 아쉬움이 남았습니다.
바로 이 지점에서 Rocky Linux가 등장합니다. Rocky Linux는 CentOS 창립자인 Gregory Kurtzer가 주도하여 RHEL의 완전한 오픈소스 바이너리 호환을 목표로 탄생한 운영체제입니다. 즉, CentOS의 정신을 계승하면서도 RHEL과 동일한 안정성과 신뢰성을 제공한다는 것이 가장 큰 장점입니다.
Rocky Linux 10, 무엇이 더 좋아졌을까?
CentOS에서 Rocky Linux 10으로 전환했을 때 체감할 수 있는 주요 장점들은 다음과 같습니다.
Rocky Linux 10에 MariaDB 설치하기
이제 Rocky Linux 10에 MariaDB를 설치하는 방법을 알아보겠습니다.
yum update 명령을 통해 패키지를 먼저 업데이트 합니다. # dnf install mariadb-server mariadb 명령어로 mariadb를 설치하고 서비스를 시작하고 실행 상태를 확인 합니다.
# yum update
# dnf install mariadb-server mariadb
# systemctl start mariadb
# systemctl enable mariadb
# systemctl status mariadb
초기 MariaDB 설정을 강화합니다.
# sudo mysql_secure_installation
MariaDb 접속을 통해 테스트를 합니다. 초기 비번은 설정되어 있지 않아 비밀번호 입력 부분에서는 엔터 키를 입력하면 바로 진입이 됩니다.
mysql -u root -p
방화벽 설정하기
모든 포트를 닫아 놓는 경우 보안에 취약할 수 있어 3306 포트를 여는 방법을 소개 합니다. 다른 포트를 작성해도 되며 필요에 따라 외부 포트를 차단해도 됩니다.
# sudo dnf install firewalld Last metadata expiration check: 0:15:34 ago on Fri May 2 11:45:24 2025. Dependencies resolved. =================================================================================================================== Package Architecture Version Repository Size =================================================================================================================== Installing: firewalld noarch 1.3.4-9.el9_5 baseos 452 k Installing dependencies: firewalld-filesystem noarch 1.3.4-9.el9_5 baseos 8.6 k ipset x86_64 7.11-11.el9_5 baseos 41 k ipset-libs x86_64 7.11-11.el9_5 baseos 68 k iptables-nft x86_64 1.8.10-11.el9_5 baseos 187 k libnftnl x86_64 1.2.6-4.el9_4 baseos 87 k nftables x86_64 1:1.0.9-3.el9 baseos 421 k python3-firewall noarch 1.3.4-9.el9_5 baseos 355 k python3-nftables x86_64 1:1.0.9-3.el9 baseos 21 k Installing weak dependencies: libcap-ng-python3 x86_64 0.8.2-7.el9 appstream 29 k Transaction Summary =================================================================================================================== Install 10 Packages Total download size: 1.6 M Installed size: 6.4 M Is this ok [y/N]: y Downloading Packages: (1/10): firewalld-filesystem-1.3.4-9.el9_5.noarch.rpm 60 kB/s | 8.6 kB 00:00 (2/10): firewalld-1.3.4-9.el9_5.noarch.rpm 2.7 MB/s | 452 kB 00:00 (3/10): python3-firewall-1.3.4-9.el9_5.noarch.rpm 884 kB/s | 355 kB 00:00 (4/10): libnftnl-1.2.6-4.el9_4.x86_64.rpm 335 kB/s | 87 kB 00:00 (5/10): iptables-nft-1.8.10-11.el9_5.x86_64.rpm 623 kB/s | 187 kB 00:00 (6/10): ipset-libs-7.11-11.el9_5.x86_64.rpm 1.1 MB/s | 68 kB 00:00 (7/10): ipset-7.11-11.el9_5.x86_64.rpm 1.0 MB/s | 41 kB 00:00 (8/10): python3-nftables-1.0.9-3.el9.x86_64.rpm 432 kB/s | 21 kB 00:00 (9/10): nftables-1.0.9-3.el9.x86_64.rpm 2.3 MB/s | 421 kB 00:00 (10/10): libcap-ng-python3-0.8.2-7.el9.x86_64.rpm 160 kB/s | 29 kB 00:00 ------------------------------------------------------------------------------------------------------------------- Total 2.5 MB/s | 1.6 MB 00:00 Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transaction Running scriptlet: firewalld-1.3.4-9.el9_5.noarch 1/1 Preparing : 1/1 Installing : libnftnl-1.2.6-4.el9_4.x86_64 1/10 Installing : iptables-nft-1.8.10-11.el9_5.x86_64 2/10 Running scriptlet: iptables-nft-1.8.10-11.el9_5.x86_64 2/10 Installing : nftables-1:1.0.9-3.el9.x86_64 3/10 Running scriptlet: nftables-1:1.0.9-3.el9.x86_64 3/10 Installing : python3-nftables-1:1.0.9-3.el9.x86_64 4/10 Installing : python3-firewall-1.3.4-9.el9_5.noarch 5/10 Installing : libcap-ng-python3-0.8.2-7.el9.x86_64 6/10 Installing : ipset-libs-7.11-11.el9_5.x86_64 7/10 Installing : ipset-7.11-11.el9_5.x86_64 8/10 Installing : firewalld-filesystem-1.3.4-9.el9_5.noarch 9/10 Installing : firewalld-1.3.4-9.el9_5.noarch 10/10 Running scriptlet: firewalld-1.3.4-9.el9_5.noarch 10/10 Created symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service → /usr/lib/systemd/system/firewalld.service. Created symlink /etc/systemd/system/multi-user.target.wants/firewalld.service → /usr/lib/systemd/system/firewalld.service. Verifying : python3-firewall-1.3.4-9.el9_5.noarch 1/10 Verifying : firewalld-filesystem-1.3.4-9.el9_5.noarch 2/10 Verifying : firewalld-1.3.4-9.el9_5.noarch 3/10 Verifying : iptables-nft-1.8.10-11.el9_5.x86_64 4/10 Verifying : libnftnl-1.2.6-4.el9_4.x86_64 5/10 Verifying : ipset-libs-7.11-11.el9_5.x86_64 6/10 Verifying : ipset-7.11-11.el9_5.x86_64 7/10 Verifying : python3-nftables-1:1.0.9-3.el9.x86_64 8/10 Verifying : nftables-1:1.0.9-3.el9.x86_64 9/10 Verifying : libcap-ng-python3-0.8.2-7.el9.x86_64 10/10 Installed: firewalld-1.3.4-9.el9_5.noarch firewalld-filesystem-1.3.4-9.el9_5.noarch ipset-7.11-11.el9_5.x86_64 ipset-libs-7.11-11.el9_5.x86_64 iptables-nft-1.8.10-11.el9_5.x86_64 libcap-ng-python3-0.8.2-7.el9.x86_64 libnftnl-1.2.6-4.el9_4.x86_64 nftables-1:1.0.9-3.el9.x86_64 python3-firewall-1.3.4-9.el9_5.noarch python3-nftables-1:1.0.9-3.el9.x86_64 Complete!
#sudo systemctl start firewalld
#sudo systemctl enable firewalld
#sudo firewall-cmd --state
포트를 엽니다.
sudo firewall-cmd --permanent --add-port=3306/tcp sudo firewall-cmd --reload
변경된 방화벽을 확인합니다.
sudo firewall-cmd --list-all
외부 접속을 위한 사용자 추가하기
데이터 베이스 툴이나 외부에서 모든 아이피에서 접근이 가능한 계정을 만드는 방법을 안내 합니다. 일반적으로는 IP를 명시해서 해당 서버에서만 데이터베이스에서 접근할 수 있도록 하는 게 보안에 도움이 됩니다.
저는 필요에 따라 TCP 포트만 열어주고 사용하지 않을 때에는 삭제하여 관리하고 있습니다.
CREATE USER 'external_user'@'%' IDENTIFIED BY '강력한_비밀번호';
GRANT ALL PRIVILEGES ON *.* TO 'external_user'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;