/usr/sbin/mysqld: ready for connections. Version: ‘8.0.33’ socket: ‘/var/run/mysqld/mysqld.sock’ port: 3306 MySQL Community Server - GPL.
这说明 MySQL 内部仍然使用默认端口 3306,你的 my.cnf 可能没有生效。
解决方案
[mysqld]
port = 3307
⚠️ 注意: 你的 MySQL 日志里有警告:
mysqld: [Warning] World-writable config file ‘/etc/mysql/conf.d/my.cnf’ is ignored.
这个警告说明 配置文件的权限有问题,MySQL 忽略了它。
- 修正 my.cnf 权限
进入容器,修正权限:
docker exec -it mysql chmod 644 /etc/mysql/conf.d/my.cnf
docker exec -it mysql chown mysql:mysql /etc/mysql/conf.d/my.cnf
然后,重启容器 让配置生效:
docker-compose down
docker-compose up -d
然后检查 MySQL 日志:
docker logs mysql | grep “ready for connections”
如果端口变成 3307,说明配置生效了。