MySQL8更改端口无效
类别: 入门到放弃
标签: MySQL
日期: 2024-04-16 | 作者:admin | 浏览: 119

想着为了安全,把默认的MySQL端口3306改了,在 /etc/mysql/mysql.conf.d/mysqld.cnf 文件中,增加端口配置

[mysqld]
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
datadir         = /var/lib/mysql
log-error       = /var/log/mysql/error.log

# 新增端口配置
port            = 3333

结果重启后各种不生效。。

在虚拟机新系统里配置后重启服务,又没有任何问题。

折腾了大半天,网上也没找到类似问题原因,结果靠自己灵光闪现发现问题所在,还挺有成就感的,记录下:

因为使用Django连接MySQL需要mysqlclient库,然后它有个依赖库:default-libmysqlclient-dev

这个库会同步安装 mariadb-common(此为罪魁祸首),导致原有MySQL配置文件失效。

应该是mariadb 和 mysql 有部分配置文件被覆盖的问题导致,推荐把MySQL放在最后安装。

后来懒得折腾,直接重装系统,然后先安装 mysqlclient,最后安装MySQL,修改MySQL配置文件后就都没问题了。。


补充:隔天又折腾了下,发现原来是 /etc/alternatives/my.cnf 文件被修改导致的,只需要重新链接下配置文件即可轻松解决,无需重装。

# 修改配置不生效的原因是my.cnf链接问题, my.cnf -> /etc/mysql/mariadb.cnf
# 覆盖原有链接, 即 my.cnf -> /etc/mysql/mysql.cnf
# ln 的参数 -f  如果目标目录中已经有同名的文件,无需提示,直接覆盖
ln -sf /etc/alternatives/my.cnf  /etc/mysql/mysql.cnf

# 重启mysql服务,各项配置都正常生效

 

<