为了提升安全性,尝试更改MySQL默认端口为3306以外的其他值。在操作 /etc/mysql/mysql.conf.d/mysqld.cnf 文件并保存后,执行重启命令,却发现配置未生效。在虚拟机新系统中进行同样的配置后重启,系统一切正常。这引发了一系列问题的查找,最终发现是由于使用Django连接MySQL时,需要mysqlclient库。该库...
MySQL8更改端口无效
为了提升安全性,尝试更改MySQL默认端口为3306以外的其他值。在操作 /etc/mysql/mysql.conf.d/mysqld.cnf 文件并保存后,执行重启命令,却发现配置未生效。
在虚拟机新系统中进行同样的配置后重启,系统一切正常。这引发了一系列问题的查找,最终发现是由于使用Django连接MySQL时,需要mysqlclient库。该库依赖default-libmysqlclient-dev,安装此依赖库后,导致mariadb-common的同步安装,从而覆盖了原有MySQL配置文件,使得更改无法生效。
问题的根本在于mariadb和mysql配置文件存在部分重叠,导致在安装mariadb-common后,原有配置文件被覆盖。解决方法推荐将MySQL放置在所有软件安装的最后,避免不必要的文件覆盖。
为简化流程,直接重装系统,先安装mysqlclient,最后安装MySQL。修改MySQL配置文件后,问题解决。
隔日再次尝试,发现问题是由于 /etc/alternatives/my.cnf 文件被意外修改。这说明在系统安装过程中,或在某些自动化配置中,该文件被误操作或误修改,导致端口更改失败。2024-11-19