DB/MySQL

MariaDB 서비스 포트 변경 (CentOS 7)

채윤아빠 2019. 7. 16. 19:29
728x90
반응형



MaraiDB 서버의 서비스 포트를 변경하려면, 먼저 SELinux 활성화 여부를 확인합니다.

$ sestatus
SELinux status:                 enabled
SELinuxfs mount:                /sys/fs/selinux
SELinux root directory:         /etc/selinux
Loaded policy name:             targeted
Current mode:                   enforcing
Mode from config file:          enforcing
Policy MLS status:              enabled
Policy deny_unknown status:     allowed
Max kernel policy version:      31

위와 같이 "sestatus" 명령을 실행하였을 때, "SELinux status"가 "enabled"된 상태라면, MariaDB의 변경 대상 포트에 대한 설정을 추가해야만 합니다.
다음과 같이 SELinux에 신규 변경할 MariaDB 포트를 추가합니다.

$ semanage port -l | grep mysqld_port_t
mysqld_port_t                  tcp      1186, 3306, 63132-63164
$ semanage port -a -t mysqld_port_t -p tcp 16033
$ semanage port -l | grep mysqld_port_t
mysqld_port_t                  tcp      16033, 1186, 3306, 63132-63164

CentOS에서 제공하는 기본 방화벽(firewalld)를 사용하고 있다면, 외부에서 MariaDB의 변경된 포트로 접근이 가능하도록 다음과 같이 방화벽 설정을 추가합니다.

$ firewall-cmd --permanent --zone=public --add-port=16033/tcp
success
$ firewall-cmd --reload
success

다음과 같이 MariaDB 설정 파일에서 서비스 포트 번호를 변경 후, "mariadb" 서비스를 재시작(systemctl restart mariadb)하면 변경된 포트로 서비스가 시작됩니다.

$ vi /etc/my.cnf.d/server.cnf

[mariadb]
port=16033

CentOS에서 MariaDB의 운영 포트를 변경하고, 서비스를 시작했을 때, 다음과 유사한 오류가 확인되면, 앞서 설정한 SELinux 설정을 확인해야 합니다.

$ journalctl -xe

 7월 09 15:48:36 localhost.localdomain mysqld[6040]: 2019-07-09 15:48:36 0 [Note] Server socket created on IP: '::'.
 7월 09 15:48:36 localhost.localdomain mysqld[6040]: 2019-07-09 15:48:36 0 [ERROR] Can't start server: Bind on TCP/IP port. Got error: 13: Permission denied
 7월 09 15:48:36 localhost.localdomain mysqld[6040]: 2019-07-09 15:48:36 0 [ERROR] Do you already have another mysqld server running on port: 16033 ?
 7월 09 15:48:36 localhost.localdomain mysqld[6040]: 2019-07-09 15:48:36 0 [ERROR] Aborting
 7월 09 15:48:38 localhost.localdomain systemd[1]: mariadb.service: main process exited, code=exited, status=1/FAILURE
 7월 09 15:48:38 localhost.localdomain systemd[1]: Failed to start MariaDB 10.3.15 database server.

참고자료