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

Ubuntu系统下MySQL Server拒绝远程连接及phpMyAdmin访问异常求助

针对Ubuntu下MySQL远程连接被拒&phpMyAdmin域名无法访问的解决方案

我来帮你一步步拆解这两个问题,在Ubuntu环境下碰到这类情况太常见了,咱们逐个解决:


问题1:MySQL远程连接始终被拒绝

1. 检查MySQL的绑定地址

默认情况下MySQL只允许本地(127.0.0.1)连接,得修改配置让它对外提供服务:

  • 打开MySQL配置文件:sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
  • 找到bind-address这一行,把值改成0.0.0.0(允许所有IP访问)或者你指定的远程IP
  • 保存退出后重启MySQL服务:sudo systemctl restart mysql

2. 授权远程访问的MySQL用户

就算绑定地址改了,还得给用户开远程访问权限:

  • 本地登录MySQL:mysql -u root -p
  • 执行授权命令(替换成你的用户名和密码,%表示允许所有IP,也可以换成特定IP更安全):
    GRANT ALL PRIVILEGES ON *.* TO 'your_username'@'%' IDENTIFIED BY 'your_password';
    
  • 刷新权限让设置生效:FLUSH PRIVILEGES;

3. 检查Ubuntu防火墙设置

Ubuntu默认的ufw防火墙可能拦截了3306端口:

  • 允许3306端口的TCP流量:sudo ufw allow 3306/tcp
  • 重启防火墙生效:sudo ufw reload

4. 测试远程连接

用远程机器的MySQL客户端测试:mysql -u your_username -p -h your_server_ip,如果能成功登录就搞定了。


问题2:phpMyAdmin仅能通过IP访问,域名无法生效

1. 检查Web服务器的虚拟主机配置

假设你用的是Apache(Nginx配置逻辑类似):

  • 打开你的域名站点配置文件(比如/etc/apache2/sites-available/your_domain.conf),确保配置包含以下关键内容:
    <VirtualHost *:80>
        ServerName your_domain.com  # 替换成你的域名
        DocumentRoot /usr/share/phpmyadmin  # phpMyAdmin的默认安装目录
    
        <Directory /usr/share/phpmyadmin>
            Options FollowSymLinks
            DirectoryIndex index.php
            AllowOverride All
            Require all granted
        </Directory>
    </VirtualHost>
    
  • 启用这个站点:sudo a2ensite your_domain.conf
  • 重启Apache服务:sudo systemctl restart apache2

2. 验证域名解析(或本地hosts映射)

  • 如果是公网域名,用ping your_domain.com测试是否能解析到你的服务器IP,不行的话检查域名的DNS记录是否正确配置
  • 如果是本地测试环境,在你的本地机器hosts文件里添加映射:your_server_ip your_domain.com(Linux/macOS编辑/etc/hosts,Windows编辑C:\Windows\System32\drivers\etc\hosts)

3. 清除浏览器缓存测试

有时候浏览器缓存了旧的DNS或页面记录,导致域名访问失效,用无痕模式打开或者清除缓存后再试。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 08:22:29