当前位置: 首页
数据库
腾讯云轻量应用服务器快速部署MySQL并实现外网直连

腾讯云轻量应用服务器快速部署MySQL并实现外网直连

热心网友 时间:2026-07-20
转载

在腾讯云轻量应用服务器上部署MySQL并实现外网直连,需同步检查MySQL用户权限、系统防火墙及腾讯云控制台防火墙三层。修改bind-address为0 0 0 0,创建远程用户并设置密码,确保各层规则一致,缺一不可。

先说一个核心判断:在腾讯云轻量应用服务器上部署MySQL并实现外网直连,真正的难点从来不在安装本身,而是三层网络和权限模型的协同。这事儿听起来麻烦,但捋清楚之后,其实就三步:检查MySQL用户权限、搞定系统防火墙、再管好腾讯云控制台防火墙。哪一层漏了,连接就会立刻罢工。

能直接外网连上,但必须手动放开三道关卡:MySQL用户权限、系统防火墙、腾讯云控制台防火墙。漏掉任意一个,Connection refusedAccess denied 就会立刻出现。

为什么MySQL 8.0默认拒绝远程连接?

Ubuntu/CentOS 安装后,root 用户默认只允许本地 socket 连接(auth_socket 插件),且绑定在 127.0.0.1。不改这两点,任何外网 IP 都会被拒。

  • 先用 sudo mysql -u root -p 登录,执行:
    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的强密码';
  • 再创建或修改远程用户(不建议直接开 root 外网):
    CREATE USER 'remote_user'@'%' IDENTIFIED BY '强密码'; GRANT ALL PRIVILEGES ON *.* TO 'remote_user'@'%' WITH GRANT OPTION;
  • 刷新权限:
    FLUSH PRIVILEGES;
  • 确认生效:
    SELECT host, user, plugin FROM mysql.user WHERE user = 'remote_user';
    —— host 必须是 % 或具体公网 IP,不能是 localhost

MySQL配置文件必须监听所有地址

bind-address 默认是 127.0.0.1,哪怕用户权限全开,也只会收本机请求。不改配置,netstat -tlnp | grep :3306 永远只显示 127.0.0.1:3306

  • 编辑配置文件:/etc/mysql/mysql.conf.d/mysqld.cnf(Ubuntu)或 /etc/my.cnf(CentOS)
  • 找到 bind-address 行,改为:
    bind-address = 0.0.0.0
  • 如果存在 skip-networking,必须删掉或注释掉
  • 重启服务:sudo systemctl restart mysql(Ubuntu)或 sudo systemctl restart mysqld(CentOS)
  • 验证监听状态:ss -tln | grep :3306 应输出 *:3306,不是 127.0.0.1:3306

腾讯云轻量服务器的防火墙会开两次,这一点必须说清楚

本地 ufwfirewalld 只管系统层;腾讯云控制台的「防火墙」规则管的是云平台网络层。两者缺一不可,且端口、协议、源 IP 范围必须一致。

  • 系统防火墙(以 Ubuntu 为例):
    sudo ufw allow 3306
    ,然后 sudo ufw status 确认已启用
  • 腾讯云控制台操作路径:轻量应用服务器 → 实例详情 → 防火墙 → 添加规则
  • 规则内容必须填:端口3306协议TCP源 IP 建议填具体客户端 IP(如 123.45.67.89/32),不要直接填 0.0.0.0/0
  • 若用 0.0.0.0/0,务必确保 MySQL 用户权限已限制为最小范围(比如只给某个库的 SELECT 权),否则等于把门敞开

连接时常见错误和对应检查点

连不上?别急着重装,按顺序查这四点:

  • Can't connect to MySQL server on 'x.x.x.x' → 先确认 ss -tln | grep :3306 和腾讯云防火墙规则是否都生效;再 telnet x.x.x.x 3306 测试端口通不通
  • Access denied for user → 查 mysql.user 表里该用户的 hostplugin,确认不是 localhost,且密码已用 mysql_native_password 加密
  • Host 'y.y.y.y' is not allowed to connect → 是权限问题,不是网络问题;执行 GRANT ... ON *.* TO 'user'@'y.y.y.y' 或改用 '%'
  • Na vicat / SQLyog 连接超时 → 检查客户端是否用了错误的端口(比如填了 3307)、是否勾选了 SSL(MySQL 8.0 默认不启用,勾了就失败)

真正麻烦的从来不是安装,而是每层网络和权限模型之间的错位。改完一处,总有人忘了同步改另一处——比如开了云防火墙却没开系统防火墙,或者改了 MySQL 用户但没改 bind-address。盯住这四点,比反复重装快十倍。

来源:https://www.php.cn/faq/2806283.html

游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。

同类文章
更多
为什么SQL中 NOT IN 子查询遇到 NULL 会导致 JOIN 逻辑完全崩溃失效

为什么SQL中 NOT IN 子查询遇到 NULL 会导致 JOIN 逻辑完全崩溃失效

SQL的NOTIN子查询若结果包含NULL,三值逻辑会使整行判断为UNKNOWN,WHERE仅保留TRUE,导致所有行被过滤,返回空集。推荐使用NOTEXISTS替代,它不比较值,只判断子查询是否返回行,天然规避NULL问题。LEFTJOIN+ISNULL易写错,COALESCE或加ISNOTNULL仅权宜之计,可能掩盖数据问题。

时间:2026-07-21 06:28
完整Redis集群架构图及搭建步骤详解,新手必看

完整Redis集群架构图及搭建步骤详解,新手必看

一、简介 Redis集群功能从3 0版本开始引入,到5 0 14版本已经相当成熟。本文就来聊聊如何搭建一个最简单的集群,以及常用的集群管理命令。版本锁定在5 0 14,所有操作均基于此版本。 二、架构图 先来看一个最基础的集群架构,一目了然: 三、搭建集群 3 1、下载 这里是在一台Linux服务器

时间:2026-07-21 06:28
SQL存储过程结合XML数据类型的高性能解析技巧

SQL存储过程结合XML数据类型的高性能解析技巧

直接用 nodes() + value(),别碰 OPENXML 从 SQL Server 2005 起,OPENXML 就应该被淘汰了。它需要手动调用 sp_xml_preparedocument 和 sp_xml_removedocument,一旦遗漏后者就会引发内存泄漏;而且整个过程基于临

时间:2026-07-21 06:28
SQL窗口函数生成带层级结构的财务流水号技巧

SQL窗口函数生成带层级结构的财务流水号技巧

财务流水号按业务类型分组连续编号,需用ROW_NUMBER()OVER(PARTITIONBYbusiness_typeORDERBYcreate_time)生成,避免先GROUPBY致明细丢失。日期前缀和补零拼接需注意数据库差异。多级嵌套结构需在PARTITIONBY中增加额外分类字段,并发环境下窗口函数无法保证唯一性,需结合序列或锁机制。

时间:2026-07-21 06:27
SQL中COALESCE函数优雅处理NULL值技巧与最佳实践全面指南

SQL中COALESCE函数优雅处理NULL值技巧与最佳实践全面指南

COALESCE函数从左到右返回首个非NULL值,参数顺序决定兜底是否生效;类型不兼容时PostgreSQL和SQLServer报错,需显式CAST对齐;运算前需对每个可能为NULL的项单独包裹,否则表达式整体为NULL;避免在WHERE或JOIN条件中使用,否则导致语义错乱或索引失效;不处理空字符串,需嵌套NULLIF。

时间:2026-07-21 06:27
热门专题
更多
刀塔传奇破解版无限钻石下载大全 刀塔传奇破解版无限钻石下载大全
洛克王国正式正版手游下载安装大全 洛克王国正式正版手游下载安装大全
思美人手游下载专区 思美人手游下载专区
好玩的阿拉德之怒游戏下载合集 好玩的阿拉德之怒游戏下载合集
不思议迷宫手游下载合集 不思议迷宫手游下载合集
百宝袋汉化组游戏最新合集 百宝袋汉化组游戏最新合集
jsk游戏合集30款游戏大全 jsk游戏合集30款游戏大全
宾果消消消原版下载大全 宾果消消消原版下载大全
  • 热门数据榜