MySQL默认端口为3306,修改需编辑my.cnf或my.ini的[mysqld]段port参数(如port=3307),重启服务后验证监听并更新客户端连接配置、防火墙及安全组规则。

MySQL 默认端口是 3306,修改它主要是为了安全加固或避免端口冲突。改端口本身不难,但需同步更新客户端连接配置,否则会连不上。
修改 MySQL 配置文件中的端口
找到 MySQL 的主配置文件(通常是 my.cnf 或 my.ini),在 [mysqld] 段落下添加或修改 port 参数:
- Linux/macOS 路径常见为:/etc/my.cnf、/etc/mysql/my.cnf 或 /usr/etc/my.cnf
- Windows 下一般是:C:\ProgramData\MySQL\MySQL Server X.X\my.ini(注意 ProgramData 是隐藏文件夹)
- 编辑时加入一行:port = 3307(换成你想要的非特权端口,1024–65535 之间)
- 保存后必须重启 MySQL 服务才生效:systemctl restart mysqld(Linux)或服务管理器中重启(Windows)
确认端口已生效
重启后别急着连,先验证 MySQL 是否真在新端口监听:
- Linux/macOS:运行 netstat -tuln | grep :3307 或 ss -tuln | grep :3307
- 登录 MySQL 后执行:SHOW VARIABLES LIKE 'port'; —— 查看实际使用的端口号
- 用 telnet 或 nc 测试本地连通性:telnet 127.0.0.1 3307
更新客户端连接方式
端口改了,所有连接 MySQL 的地方都要同步调整:
- 命令行连接需显式指定端口:mysql -u root -p -P 3307(注意大写 P)
- 应用程序(如 PHP、Python、Java)的数据库连接字符串里,把 :3306 改成 :3307
- 图形工具(如 Navicat、DBeaver、MySQL Workbench)新建连接时,主机后面填端口,例如:127.0.0.1:3307
- 如果使用 socket 连接(localhost 默认走 socket),要改成 TCP 连接,即用 127.0.0.1 而不是 localhost
防火墙和 SELinux(Linux)注意事项
仅改配置还不够,系统级防护可能拦住新端口:










