无法更改 Fedora Server 36 上的 MySQL 端口

无法更改 Fedora Server 36 上的 MySQL 端口

对于软呢帽服务器36 已安装MySQL8 社区通过.rpmfromMySQL 社区下载。现在根据编辑会议文件部分指示使用该/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命令显示

在此输入图像描述

缺少什么或应该做什么?

笔记:即使使用端口,我也遇到这种情况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]用于客户端程序。

相关内容