mysql环境搭建后远程无法连接怎么办_mysql远程访问配置

7次阅读

MySQL 默认仅允许本地连接,需修改 bind-address 为 0.0.0.0、授权远程用户并开放 3306 端口(含系统防火墙与云安全组),MySQL 8.0+ 还需注意认证插件兼容性。

mysql 环境搭建后远程无法连接怎么办_mysql 远程访问配置

MySQL 安装完成后默认只允许本地连接,远程连接被拒绝是常见问题。核心原因通常是绑定地址、用户权限或 防火墙 限制,需逐项检查。

检查 MySQL 绑定地址是否允许远程访问

MySQL 默认配置为 bind-address = 127.0.0.1,仅监听本地回环地址。需修改为允许外部访问:

  • 编辑 MySQL 配置文件(Linux 通常为 /etc/mysql/mysql.conf.d/mysqld.cnf/etc/my.cnf;Windows 为 my.ini
  • 找到 bind-address 行,改为:
    bind-address = 0.0.0.0(监听所有 IPv4 地址)
    或指定服务器 IP(如 bind-address = 192.168.1.100
  • 保存后重启 MySQL 服务:
    sudo systemctl restart mysql(Linux)
    net stop mysql && net start mysql(Windows)

确认远程用户存在且授权正确

root 用户默认可能只允许 localhost 登录,需显式创建或授权远程用户:

  • 登录 MySQL:mysql -u root -p
  • 查看当前用户及主机:
    SELECT User, Host FROM mysql.user;
  • 若需允许 root 从任意主机远程登录(不推荐生产环境):
    CREATE USER ‘root’@’%’ IDENTIFIED BY ‘ 你的强密码 ’;
    GRANT ALL PRIVILEGES ON *.* TO ‘root’@’%’ WITH GRANT OPTION;
    FLUSH PRIVILEGES;
  • 更安全的做法:创建专用远程用户,如:
    CREATE USER ‘remote_user’@’192.168.1.%’ IDENTIFIED BY ‘ 安全密码 ’;
    GRANT SELECT, INSERT ON mydb.* TO ‘remote_user’@’192.168.1.%’;
    FLUSH PRIVILEGES;

检查系统防火墙是否放行 3306端口

即使 MySQL 已监听 0.0.0.0,防火墙仍可能拦截外部连接请求:

  • Linux(ufw):
    sudo ufw allow 3306
    sudo ufw status 确认规则生效
  • Linux(firewalld):
    sudo firewall-cmd –permanent –add-port=3306/tcp
    sudo firewall-cmd –reload
  • Windows:在“高级安全 Windows 防火墙”中新建入站规则,允许 TCP 3306 端口
  • 云服务 器(如 阿里云 腾讯 云):还需在安全组中手动开放 3306 端口,这是常被忽略的关键一步

验证连接与排错建议

完成上述配置后,用客户端 工具(如 MySQL Workbench、Navicat 或命令行)测试:

  • 从远程机器执行:
    mysql -h 服务器公网 IP -P 3306 -u remote_user -p
  • 若提示 ERROR 2003 (HY000): Can’t connect to MySQL server
    先用 telnet 服务器 IP 3306 测试端口是否可达;不通则重点查防火墙或安全组
  • 若提示 Access denied for user
    说明认证失败,检查用户名、密码、Host 匹配(注意 % 和具体 IP 的区别),以及是否执行了 FLUSH PRIVILEGES
  • MySQL 8.0+ 注意:默认认证插件为 caching_sha2_password,部分旧客户端不兼容,可建用户时指定:
    CREATE USER ‘u’@’%’ IDENTIFIED WITH mysql_native_password BY ‘pwd’;
星耀云
版权声明:本站原创文章,由 星耀云 2026-01-03发表,共计1521字。
转载说明:转载本网站任何内容,请按照转载方式正确书写本站原文地址。本站提供的一切软件、教程和内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。
text=ZqhQzanResources