当前位置:首页 > 云服务器

如何配置myql网络环境_myql访问连通性设置

游戏科技网2026年09月15日 01:44云服务器20
描述:MySQL远程连接失败主因是bind-address默认为127.0.0.1、用户主机限制(如@localhost)、防火墙拦截3306端口;需分别修改配置监听0.0.0.0、创建@%或指定IP用户、开放防火墙/安全组规则。MySQL 默认绑定 localhost 导致远程无法连接MySQL 8.0…
MySQL远程连接失败主因是bind-address默认为127.0.0.1、用户主机限制(如@localhost)、防火墙拦截3306端口;需分别修改配置监听0.0.0.0、创建@%或指定IP用户、开放防火墙/安全组规则。

如何配置myql网络环境_myql访问连通性设置

MySQL 默认绑定 localhost 导致远程无法连接

MySQL 8.0+ 默认配置 bind-address = 127.0.0.1,只监听本地回环接口,外部主机发来的 TCP 连接请求会被直接拒绝。这不是权限问题,而是网络层根本没暴露端口。

  • 检查当前绑定地址:

    1

    grep "bind-address" /etc/mysql/mysql.conf.d/mysqld.cnf

  • 改为监听所有 IPv4 接口:bind-address = 0.0.0.0(或指定内网 IP,如 192.168.1.100
  • 改完必须重启服务:sudo systemctl restart mysql
  • 验证是否生效:ss -tlnp | grep :3306 —— 输出中应含 0.0.0.0:3306 或对应 IP,而非仅 127.0.0.1:3306

用户账号未授权远程主机访问

即使 MySQL 监听了外部 IP,CREATE USER u@localhost 这类账号仍无法从其他机器登录。MySQL 的用户是「用户名 + 主机名」联合唯一标识,u@%u@localhost 是两个完全不同的账户。

  • 确认现有用户允许的 host:

    1

    SELECT User, Host FROM mysql.user;

  • 若需允许任意 IP(测试用):

    1

    CREATE USER dev@% IDENTIFIED BY pass123; GRANT ALL ON *.* TO dev@%; FLUSH PRIVILEGES;

  • 生产环境建议限定范围:dev@192.168.1.%dev@10.0.2.5
  • 注意:MySQL 8.0 默认认证插件是 caching_sha2_password,某些旧客户端不兼容,可显式指定:

    1

    CREATE USER dev@% IDENTIFIED WITH mysql_native_password BY pass123;

防火墙拦截 3306 端口

Linux 防火墙(ufwfirewalld)或云服务器安全组规则会默认丢弃非白名单端口的入站流量,MySQL 连接超时(而非拒绝)往往就是这个原因。

如何配置myql网络环境_myql访问连通性设置
word-document-organizer

智能整理Word文档,自动排版、生成目录、统一样式,支持学术/商务/极简模板。

下载
  • Ubuntu/Debian(ufw):sudo ufw allow 3306,再 sudo ufw status 确认规则已生效
  • CentOS/RHEL(firewalld):

    1

    sudo firewall-cmd --permanent --add-port=3306/tcp sudo firewall-cmd --reload

  • 阿里云/腾讯云等平台:必须在控制台「安全组」中手动添加入方向规则,协议类型选 TCP,端口范围填 3306,源 IP 建议限制为具体开发机 IP,而非 0.0.0.0/0

连接时提示 “Host … is not allowed to connect”

该错误明确指向权限层面,但实际可能由多个环节叠加导致。不要只盯着 GRANT 语句,先排除网络和防火墙干扰。

  • mysql -h 127.0.0.1 -u dev -p 在本机测试 —— 若成功,说明 MySQL 服务正常,问题出在远程访问路径
  • telnet your-server-ip 3306 从客户端测试连通性 —— 若连接失败,99% 是防火墙或 bind-address 配置问题
  • 确保客户端连接命令中指定的是服务器真实 IP,不是 localhost(它会走 socket 而非 TCP)
  • MySQL 8.0 启用 skip-name-resolve 可避免 DNS 反查失败导致的延迟或拒绝,建议在 [mysqld] 段添加该配置并重启

网络连通性是分层验证的:物理可达 → 端口开放 → MySQL 监听 → 账号授权。任何一层卡住都会表现为“连不上”,但错误现象和排查手段完全不同。尤其注意 bind-address 和防火墙这两处,它们比账号权限更常被忽略。

“如何配置myql网络环境_myql访问连通性设置” 的相关文章

5元云服务器:入门级新手首选

5元云服务器:入门级新手首选 我是一名刚毕业的大学生,对编程充满了热情,但现实总是骨感一些。刚踏入职场,我梦想着能独立开发一个网站或应用,却苦于没有足够的资源。买一台实体服务器太贵,租个虚拟空间又觉得…

6元服务器租用,高性价比VPS主机推荐

6元服务器租用,高性价比VPS主机推荐 记得去年我刚开始创业,做了一个小型网站来展示我的产品。那时,我手头紧,预算有限,却急着需要一个可靠的服务器来托管网站。作为一个普通上班族,我对技术懂得不多,但我…

2021年云服务器优惠套餐推荐

2021年云服务器优惠套餐推荐 嗨,朋友们!你是否曾经在深夜里,面对一堆代码和服务器错误,感叹说:“为什么我的项目老是卡顿?”如果是这样的话,那你可能正在寻找2021年云服务器优惠套餐的解决方案。作为…

云服务器市场增长

云服务器市场增长 大家好,作为一个每天依赖云服务器的开发者,我亲身感受到市场的飞速膨胀。想象一下,几年前我还得在办公室的老旧电脑前苦苦挣扎,处理数据时总是卡顿不堪,但现在,只需轻轻一点,就能在云端获得…

1元买走一台云服务器,这种天上掉馅饼的事存在吗?

1元买走一台云服务器,这种天上掉馅饼的事存在吗? 那天,我在咖啡馆里刷手机,偶然看到一个广告:“只需1元,就能买走一台高性能云服务器!容量无限,稳定快速,适合创业和学习。”我的心跳突然加速了。作为一个…

云服务器10元月:经济型服务价格新记录

云服务器10元/月:经济型服务价格新记录 最近,云服务器的价格被推向了一个新低,10元一个月的方案让许多人惊喜不已。这不仅仅是数字上的变化,更是科技服务普惠化的一个标志。云服务器作为一种基于云计算的虚…