对于软呢帽服务器36 已安装MySQL
8 社区通过.rpm
fromMySQL 社区下载。现在根据编辑会议文件部分指示使用该/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]
用于客户端程序。