Fedoraの帽子の場合仕える人36さんがMySQL
8コミュニティをインストールしました.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
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]
クライアントプログラム用です。