Fedora Server 36 では MySQL ポートを変更できません。

Fedora Server 36 では MySQL ポートを変更できません。

Fedoraの帽子の場合仕える人36さんがMySQL8コミュニティをインストールしました.rpmMySQL コミュニティをダウンロード。今によると会議文書の編集このセクションでは、/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

2 番目のコマンドは、次のメッセージで失敗します。

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]クライアントプログラム用です。

関連情報