You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu系统下systemctl管理的mysqld v8如何修改默认端口

如何修改Ubuntu上systemctl管理的MySQL 8服务端口

Ubuntu下MySQL 8的配置文件结构和旧版略有不同,默认端口配置不在根目录的my.cnf里,而是在专门的子配置文件中。以下是两种可行的修改方法:

方法一:修改MySQL配置文件(推荐)

这是官方推荐的方式,配置更稳定,不会被软件更新覆盖:

  • 打开MySQL服务的主配置文件:
    sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
    
  • 在[mysqld]配置段中,添加或修改port参数,比如改成3307:
    [mysqld]
    port = 3307
    # 其他原有配置保持不变
    
  • 保存并退出编辑器(nano中按Ctrl+O确认保存,Ctrl+X退出)
  • 重启MySQL服务使配置生效:
    sudo systemctl restart mysql
    
  • 验证端口是否生效:
    sudo netstat -tulpn | grep mysqld
    
    输出中应该能看到LISTEN状态的新端口。

方法二:修改systemd服务配置(备选)

如果确实需要通过命令行参数传递端口(不推荐,更新可能覆盖),可以修改systemd的服务定义:

  • 打开systemd服务的临时编辑文件:
    sudo systemctl edit mysql
    
  • 在打开的文件中添加以下内容,替换成你要的端口:
    [Service]
    ExecStart=
    ExecStart=/usr/sbin/mysqld --port=3307 $MYSQLD_OPTS
    
    注意:必须先清空原有的ExecStart(第一行ExecStart=),再重新定义带端口参数的启动命令。
  • 保存退出后,重新加载systemd配置:
    sudo systemctl daemon-reload
    
  • 重启MySQL服务:
    sudo systemctl restart mysql
    
  • 验证端口是否生效(同方法一的验证命令)

注意事项

  • 修改端口后,客户端连接时需要指定新端口,例如:mysql -u root -p --port=3307
  • 修改前确认新端口未被其他服务占用,可通过ss -tulpn | grep 你的端口号检查
  • 优先使用方法一,因为systemd服务配置的修改可能在MySQL包更新时被重置

内容的提问来源于stack exchange,提问作者Not a machine

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 04:24:54