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

求助:Webmin部署的MySQL服务器无法远程连接,仅本地可连

解决MySQL仅能本地连接的远程访问问题

1. 修改MySQL绑定地址

MySQL默认仅监听localhost,需调整配置允许外部访问:

  • 编辑Ubuntu系统的MySQL配置文件:sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
  • 找到bind-address配置项,将其修改为 bind-address = 0.0.0.0(或直接注释掉该行)
  • 重启MySQL服务生效:sudo systemctl restart mysql

2. 授权用户远程访问权限

phpMyAdmin通过localhost连接不受限制,但远程用户需要明确授权:

  • 本地登录MySQL终端:mysql -u root -p
  • 执行授权命令(替换user和你的密码为实际信息):
    GRANT ALL PRIVILEGES ON *.* TO 'user'@'%' IDENTIFIED BY '你的密码';
    
    若需限制特定IP访问,将%替换为具体IP(如'192.168.1.100')
  • 刷新权限:FLUSH PRIVILEGES;
  • 可通过以下命令验证用户权限配置:
    SELECT user, host FROM mysql.user;
    
    确保目标用户的host字段不是仅localhost或127.0.0.1

3. 确认网络与防火墙配置

  • 检查系统UFW防火墙规则:sudo ufw status,确认3306/tcp规则为ALLOW状态
  • 测试端口连通性:在本地终端执行nc -zv xxxxxxxx 3306(替换为你的VPS IP),若返回succeeded说明端口可访问;若失败,需检查VPS服务商的安全组规则(多数云服务商需额外在控制台开放端口)

4. 验证MySQL监听状态

执行以下命令确认MySQL是否监听所有IP:

netstat -tulpn | grep mysql

输出需包含0.0.0.0:3306或:::3306(IPv6),若仅显示127.0.0.1:3306,说明配置未生效,需检查是否有其他MySQL配置文件覆盖了设置。

5. 检查Webmin/Virtualmin配置

Virtualmin可能存在额外限制:

  • 登录Webmin,进入Servers > MySQL Database Server
  • 在MySQL Server Configuration中找到Bind address,设置为All addresses (0.0.0.0)
  • 检查Virtualmin的服务器模板,确认未限制MySQL远程访问

内容的提问来源于stack exchange,提问作者Tovs

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 18:19:47