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

如何搭建myql远程开发环境_myql远程连接配置

游戏科技网2026年09月15日 01:37云服务器10
描述:MySQL默认拒绝远程连接,需三步解决:①修改bind-address为0.0.0.0或指定IP并重启服务;②创建用户@%或限定IP的账号并授权;③开放系统防火墙及云服务器安全组3306端口。MySQL 默认拒绝远程连接,必须手动放开MySQL 安装后默认只监听 127.0.0.1(本地回环),bi…
MySQL默认拒绝远程连接,需三步解决:①修改bind-address为0.0.0.0或指定IP并重启服务;②创建用户@%或限定IP的账号并授权;③开放系统防火墙及云服务器安全组3306端口。

如何搭建myql远程开发环境_myql远程连接配置

MySQL 默认拒绝远程连接,必须手动放开

MySQL 安装后默认只监听 127.0.0.1(本地回环),bind-address 配置为 127.0.0.1localhost 时,任何外部 IP 都无法建立 TCP 连接,哪怕防火墙已放行端口。这不是权限问题,是网络层直接被拒。

  • 先确认当前监听地址:

    1

    sudo netstat -tlnp | grep :3306

    如果只看到 127.0.0.1:3306,说明还没放开
  • 修改配置文件(常见路径:/etc/mysql/mysql.conf.d/mysqld.cnf/etc/my.cnf),找到 bind-address 行,改为:

    1

    bind-address = 0.0.0.0

    (监听所有 IPv4 接口)或指定内网 IP(如 192.168.1.100
  • 改完必须重启服务:

    1

    sudo systemctl restart mysql

    (Ubuntu/Debian)或

    1

    sudo systemctl restart mysqld

    (CentOS/RHEL)

用户账号必须显式授权远程访问权限

即使 MySQL 监听了 0.0.0.0,用 root@localhost 登录的账号默认不能从其他 IP 连入。MySQL 的用户是“用户名 + 主机名”联合标识,root@localhostroot@% 是两个完全不同的账号。

  • 登录 MySQL 后,检查现有用户:

    1

    SELECT User, Host FROM mysql.user;

  • 若需允许任意主机连接(开发环境可接受,生产严禁):

    1

    CREATE USER devuser@% IDENTIFIED BY strong_password;<br>GRANT ALL PRIVILEGES ON *.* TO devuser@% WITH GRANT OPTION;<br>FLUSH PRIVILEGES;

  • 更安全的做法是限定来源 IP:

    1

    CREATE USER devuser@192.168.1.% IDENTIFIED BY strong_password;

  • 注意:MySQL 8.0+ 默认使用 caching_sha2_password 插件,某些旧客户端不兼容,可强制指定插件:

    1

    CREATE USER devuser@% IDENTIFIED WITH mysql_native_password BY strong_password;

防火墙和云服务器安全组常被忽略

Linux 系统防火墙(ufw / firewalld)和云平台(阿里云、腾讯云等)的安全组规则是两层独立过滤,任一未放行都会导致连接超时(不是拒绝,是无响应)。

如何搭建myql远程开发环境_myql远程连接配置
word-document-organizer

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

下载
  • Ubuntu 上开放 3306:

    1

    sudo ufw allow 3306

  • CentOS 7+:

    1

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

  • 云服务器必须在控制台配置安全组入方向规则:协议类型选 TCP,端口范围填 3306,源 IP 建议限制为你的开发机公网 IP(或公司出口 IP),避免设为 0.0.0.0/0
  • 验证是否通:从本地执行

    1

    telnet your-server-ip 3306

    ,能连上说明网络层通畅;如果报 Connection refused,说明 MySQL 没监听或服务没启;如果卡住或报超时,大概率是防火墙/安全组拦截

客户端连接时注意 host 参数和 DNS 解析

很多开发者用 mysql -h 123.123.123.123 -u devuser -p 测试失败,却没意识到 MySQL 服务端可能开启了 skip-name-resolve,此时它不会反向解析客户端 IP 为域名——但如果你在 GRANT 语句里用了域名(比如 devuser@my-laptop.local),而客户端实际 IP 是 192.168.1.50,就会因主机名不匹配被拒绝。

  • 最稳妥做法:授权时一律用 IP 或通配符(%),避免依赖 DNS
  • 检查服务端是否跳过 DNS:

    1

    SHOW VARIABLES LIKE skip_name_resolve;

    若值为 ON,就别在 Host 字段写域名
  • 本地测试连接时,优先用 IP 而非 hostname:

    1

    mysql -h 192.168.1.100 -P 3306 -u devuser -p

    (注意 -P 是大写,小写 -p 是密码)
  • 如果用 GUI 工具(如 DBeaver、TablePlus),确保连接配置里的 Host 填的是服务器真实 IP,不是 localhost127.0.0.1

远程连 MySQL 看似三步:改 bind、授权限、开防火墙,但每步都有隐性依赖。最容易卡住的是 bind-address 没生效(配置文件路径错、多配置文件冲突)、用户 Host 匹配失败(大小写、空格、% 位置)、以及云平台安全组漏配——这三处查一遍,90% 的连接问题就解决了。

“如何搭建myql远程开发环境_myql远程连接配置” 的相关文章

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

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

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

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

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

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

云服务器市场增长

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

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

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

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

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