Fedora Server 36에서 MySQL 포트를 변경할 수 없습니다.

Fedora Server 36에서 MySQL 포트를 변경할 수 없습니다.

페도라 모자의 경우섬기는 사람36 님이 MySQL8 커뮤니티를 설치했습니다 .rpm.MySQL 커뮤니티 다운로드. 이제 따르면회의 문서 편집섹션에서는 /etc/my.cnf.d/community-mysql-server.cnf사용할 파일을 지시하지만 /etc/my.cnf.d/디렉터리가 비어 있고 실제 유효한 파일이 /etc/my.cnf/현재 포함된 위치에 있기 때문에 파일이 존재하지 않습니다.

[mysql]
#
# many comments
#
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock

log-error=/var/log/mysqld.log
pid-file=/run/mysqld/mysqld.pid

port=3307따라서 다음과 같이 추가하면

[mysql]
#
# many comments
#
port=3007
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock

log-error=/var/log/mysqld.log
pid-file=/run/mysqld/mysqld.pid

파일을 저장하고 다음 명령을 실행합니다.

sudo systemctl stop mysqld
sudo systemctl start mysqld

두 번째 명령은 다음 메시지와 함께 실패합니다.

Job for mysqld.service failed because the control process exited with error code.
See "systemctl status mysqld.service" and "journalctl -xeu mysqld.service" for details

systemctl status mysqld.service명령 표시 의 경우

여기에 이미지 설명을 입력하세요.

journalctl -xeu mysqld.service명령 으로 표시

위에서 뭔가오류 13: (권한이 거부됨)

여기에 이미지 설명을 입력하세요.

sudo cat /var/log/mysqld.log명령 으로 표시

여기에 이미지 설명을 입력하세요.

위에서:

Can't start server: Bind on TCP/IP port: Permission denied
Do you already have another mysqld server running on port: 3307?

sudo lsof -i -P명령 으로 표시

여기에 이미지 설명을 입력하세요.

무엇이 빠졌으며 무엇을 해야 합니까?

노트:port를 사용하는데도 이런 상황이 발생했습니다 3308. 물론, 3306명시적으로 언급하면 ​​모든 것이 잘 작동합니다.

답변1

이 문제는 SELinux와 관련이 있습니다.(SELinux 관련 문제 해결)@Artem S. Tashkinov가 말했듯이 이는 mysql이 포트 3306에서만 수신 대기하도록 허용하기 때문입니다. 따라서 다른 포트(예: 3307)를 사용하려면 다음 명령을 실행해야 합니다.

sudo /usr/sbin/semanage port -a -t mysqld_port_t -p tcp 3307

답변2

[mysqld]서버 설정 섹션에서 포트를 지정해야 할까요 ? 이 섹션은 [mysql]클라이언트 프로그램을 위한 것입니다.

관련 정보