Windows远程连接MySQL报错,本地navicat能连接MySQL

一、报错

telnet 119.87.111.79 3306

​​“无法打开到主机的连接。在端口 3306: 连接失败”​​ 表明无法通过 TCP 协议连接到目标服务器的 3306 端口。

二、目的

(1)​​Telnet 测试的目的​​
Telnet 仅用于测试 ​​TCP 端口是否开放​​,不涉及 MySQL 协议。
如果 Test-NetConnection 或 Telnet 显示端口连通,但 MySQL 仍无法连接,需检查:
①MySQL 用户权限(是否允许远程登录)。
②防火墙或云服务器安全组配置。
(2)​​为什么需要测试端口?​​
如果 telnet 119.87.111.79 3306 失败,可能的原因包括:
①防火墙阻止了 3306 端口。
②服务器未监听 3306 端口(需检查 netstat -an)。
③网络路由问题(如 NAT 或 VPN 配置错误)。

三、原因

由于Telnet 测试没通过,可以排查以下原因

(1)​​目标服务器防火墙/安全组未开放 3306 端口​​

远程服务器(119.87.111.79)的防火墙或云服务商的安全组可能阻止了 3306 端口的入站连接。
​​本地服务器​​:
在远程服务器上执行以下命令,确认防火墙允许 3306 端口:
确认防火墙规则是否生效​
​步骤 1:检查规则列表

netsh advfirewall firewall show rule name="Open MySQL 3306"

​​预期输出​​:

规则名称: Open MySQL 3306
方向: 入站
操作: 允许
协议: TCP
本地端口: 3306

在这里插入图片描述

(2)​​MySQL 服务未监听远程 IP​​

远程服务器的 MySQL 配置可能仅绑定在 127.0.0.1(本地环回地址),而非 0.0.0.0(所有网络接口)。
在远程服务器上执行​​:

netstat -an | findstr 3306

​​期望输出​​:

TCP    0.0.0.0:3306           0.0.0.0:0              LISTENING

在这里插入图片描述

如果显示 127.0.0.1:3306,需修改 MySQL 配置文件(my.cnf):

[mysqld]
bind-address = 0.0.0.0

重启 MySQL 服务。

(3)​​网络路由问题​​

本地网络或中间网络设备(如路由器、企业防火墙)可能阻止了连接。
尝试连接其他公共端口(如 HTTP 80 端口)测试本地网络是否正常:

telnet example.com 80

如果失败,可能是本地防火墙、VPN 或企业网络策略阻止了连接。

(4)​​目标服务器未运行 MySQL​​

远程服务器可能未安装 MySQL,或服务未启动。
​​在远程服务器上执行​​:
确认服务正在运行。如果未运行,启动服务:

net start mysql

(5)​使用 traceroute 检查网络路径​

在本地执行:

tracert  119.87.111.79

查看连接在哪一跳中断,定位网络问题。

(6)​​检查 MySQL 用户权限​

在远程服务器上登录 MySQL​​:

GRANT ALL PRIVILEGES ON *.* TO '用户名'@'%' IDENTIFIED BY '密码';
FLUSH PRIVILEGES;

确保用户允许从任意 IP(%)连接。
在这里插入图片描述

​总结​​

​​优先检查远程服务器的防火墙和安全组​​:这是最常见的连接失败原因。
​​确认 MySQL 监听地址为 0.0.0.0​​:确保服务允许远程连接。
​​检查本地网络和路由​​:排除本地策略或中间网络问题。
如果以上步骤均无问题,但仍无法连接,请提供以下信息进一步排查:

远程服务器的操作系统和防火墙配置。
MySQL 错误日志(通常位于 /var/log/mysql/error.log 或 data/hostname.err)。
是否通过 VPN 或企业网络连接?

啊啊啊啊啊啊啊排查不出来,难不成因为远程MySQL5,本地MySQL8原因??
算了,卸了MySQL5重新来@@(彻底卸载MySQL;MySQL安装全过程;Mysql8安装)

续:

本地能访问,远程访问不了MySQL,明明防火墙也关了,MySQL的root用户也开放权限了,最后的原因就是远程服务器本身的问题,问管理员服务器的开放端口有哪些@@

远程服务器压根没开放MySQL默认端口3306,所以访问不到,需要把MySQL默认配置文件my.ini 里默认端口3306改了(改成服务器开放了那些端口,我这边后来才从管理员那边知道就开了几个端口);

改完配置文件两个地方的端口后,如果MySQL服务启动不了,两方面原因:
一个是不是改的端口进程已经被占了,
一个是没被占说明MySQL 服务未读取到你修改的 my.ini 文件(我选择重新卸载再下载默认端口选开放的端口)
在这里插入图片描述

如果当初下载MySQL没修改默认下载路径的画, my.ini 文件在这(最新MySQL8这配置文件路径和以前不一样):

C:\ProgramData\MySQL\MySQL Server 8.0

在这里插入图片描述

我已经第三次下载MySQL了,哈哈哈哈
参照Mysql8安装
懒人直接全下,卸载的时候多卸几个
在这里插入图片描述
没有next就一路选execute执行;
在这里插入图片描述
该端口啊
在这里插入图片描述
安装完MySQL设置权限,走一下(1)(2)(3)(4)流程

注意报错ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost:3306' (10061),因为端口改为4000了
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/904590.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/904590.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

电池管理系统BMS三级架构——BMU、BCU和BAU详解

储能电站的电池管理系统(BMS)通常采用三级架构:从控(BMU)、主控(BCU)、总控(BAU)。这种分层设计实现了电池模组、簇、堆的分级管理和控制,确保系统运行的安全…

C++ 基础复习

基础复习 1.const引用为什么能引用临时对象2.内联函数的额外作用3. nullptr 1.const引用为什么能引用临时对象 临时对象(Temporary Object)是在表达式求值过程中隐式创建的对象,例如: 函数返回非引用类型的值 类型转换&#xff0…

AI的出现,是否能替代IT从业者?

阐述观点:AI 的出现不会完全替代 IT 从业者,但会深刻改变 IT 行业的工作方式和岗位结构。 AI 不会完全替代 IT 从业者的原因 AI 本身需要人来开发与维护 AI 模型、系统架构、数据管道等都需要 IT 专业人员来构建和优化。 例如:AI 工程师、M…

【服务器通信-socket】——int socket(int domain, int type, int protocol);

#include <sys/types.h> #include <sys/socket.h> int socket(int domain, int type, int protocol); domain: AF_INET 这是大多数用来产生socket的协议&#xff0c;使用TCP或UDP来传输&#xff0c;用IPv4的地址 AF_INET6 与上面类似&#xff0c;不过是来用IPv6的地…

Python基本环境搭配

Python3 环境搭建 | 菜鸟教程 里面有直接跳转 Fitten Code 按下 Tab 键接受所有补全建议&#xff1a; 按下 Ctrl→ 键(mac系统为Command→)接收单个词补全建议&#xff1a; 用户可通过点击左上角工具栏中的Fitten Code – 开始对话或者使用快捷键CtrlAltC(mac系统为Contr…

C++负载均衡远程调用学习之HOOK注册机制

目录 1.larV0.7-hook流程的说明 2.larV0.7-TCP_server集成链接HOOK函数 3.larV0.7-TCP_client集成链接HOOK注册功能 1.larV0.7-hook流程的说明 ### 7.1 数据库表相关查询方法实现 ​ 我们先实现一些基本的数据表达查询方法&#xff1a; > lars_dns/src/dns_rout…

Rust 与 Golang 深度对决:从语法到应用场景的全方位解析

一、引言 在软件开发的快速发展浪潮中&#xff0c;Rust 和 Golang&#xff08;Go 语言&#xff09;脱颖而出&#xff0c;成为开发者热议的编程语言。Rust 凭借强大的内存安全性与卓越的性能备受赞誉&#xff0c;Golang 则以简洁的语法和出色的并发处理能力赢得开发者青睐。本文…

C++负载均衡远程调用学习之订阅功能与发布功能

目录 1.lars-DnsV0.1回顾 2.Lars-DnsV0.2-订阅功能的订阅模块分析 3.Lars-DnsV0.2-订阅模块的类的单例创建及方法属性初始化 4.Lars-DnsV0.2-发布功能的实现 5.Lars-DnsV0.2-发布功能的总结 6.Lars-DnsV0.2-订阅流程复习 7.Lars-DnsV0.2-订阅模块的集成 8.Lars-DnsV0.2订…

SurfSense开源程序是NotebookLM / Perplexity / Glean的开源替代品,连接到外部来源,如搜索引擎

​一、软件介绍 文末提供程序和源码下载 虽然 NotebookLM 和 Perplexity 等工具令人印象深刻&#xff0c;并且对于对任何主题/查询进行研究都非常有效&#xff0c;但 SurfSense 通过与你的个人知识库集成来提升这种能力。它是一个高度可定制的 AI 研究代理&#xff0c;连接到外…

基于OpenTelemetry的分布式链路追踪Trace‌实现(PHP篇)

目录 引言一、OpenTelemetry是一套可观测性标准协议二、分布式追踪&#xff08;‌Trace‌&#xff09;是OpenTelemetry的核心功能之一三、OpenTelemetry的架构原理四、OpenTelemetry的分布式追踪&#xff08;‌Trace‌&#xff09;实践1、准备PHP环境2、下载SDK3、编写实例代码…

探索智能体的记忆:类型、策略和应用

AI Agent 中的记忆&#xff1a;类型、策略和应用 记忆实现是使智能体能够保持上下文、从过去的交互中学习并做出明智决策的关键组成部分。与人类记忆非常相似&#xff0c;智能体记忆允许 AI 系统随时间存储、检索和利用信息&#xff0c;从而为用户创造更连贯和个性化的体验。 …

leetcode 2395. Find Subarrays With Equal Sum

题目描述 代码&#xff1a; class Solution { public:bool findSubarrays(vector<int>& nums) {int len nums.size();if(len <2)return false;unordered_set<int> table;int sum 0;for(int i 1;i < len;i){sum nums[i-1]nums[i];if(table.contains(…

Kubernetes(k8s)学习笔记(七)--KubeSphere 最小化安装

前情提要 可视化操作面板对于开发、运维绝对是提升工作效率的一大利器&#xff0c;因此很有必要搭建一套可视化操作来管理Kubernetes。 可视化面板有多种&#xff1a; 1.Kubernetes官方提供的默认面板&#xff1a;dashboard&#xff0c;用处不大&#xff0c;放弃&#xff1b…

MCP连接Agent:AI时代的TCP/IP

介绍 2023年&#xff0c;生成式AI爆发。2024年&#xff0c;智能体&#xff08;Agent&#xff09;接棒成为AI新焦点。2025年&#xff0c;智能体似乎已经要开始爆发了。目前的智能体更像一个“单机App”&#xff1a;彼此不了解、无法通信&#xff0c;更不能协作。类似互联网早期…

交换机工作原理(MAC地址表、VLAN)

目录 一、交换机的基本工作原理 数据帧的转发 MAC地址表的作用 交换机的转发方式 二、VLAN&#xff08;虚拟局域网&#xff09; VLAN的定义 VLAN的作用 VLAN的实现方式 VLAN的帧标记 VLAN的通信 三、交换机与VLAN的结合 四、交换机与VLAN的实际应用场景 交换机是局…

eFish-SBC-RK3576工控板外部RTC测试操作指南

备注&#xff1a; 1&#xff09;测试时一定要接电池&#xff0c;否则外部RTC断电后无法工作导致测试失败&#xff1b; 2&#xff09;如果连接了网络&#xff0c;系统会自动同步NTP时钟&#xff0c;所以需要关闭自动同步时钟。 关闭自动同步NTP时钟方法&#xff1a; 先查看是…

淘宝按图搜索商品(拍立淘)Java 爬虫实战指南

在电商领域&#xff0c;按图搜索商品功能为用户提供了更直观、便捷的购物体验。淘宝的拍立淘功能更是凭借其强大的图像识别技术&#xff0c;成为许多开发者和商家关注的焦点。本文将详细介绍如何利用 Java 爬虫技术实现淘宝按图搜索商品功能&#xff0c;包括注册账号、上传图片…

【Redis】List类型

文章目录 List的特点介绍lpush&#xff0c;lpushx&#xff0c;rpush&#xff0c;rpushx命令lrange命令lpop和rpoplindex命令linsert命令llen命令lrem 命令ltrim命令lset命令阻塞版本的命令blpop和brpop 命令小结list的内部编码List的应用场景 List的特点介绍 列表相当于一个数…

QT:qt5调用打开exe程序并获取调用按钮控件实例2025.5.7

为实现在 VS2015 的 Qt 开发环境下打开外部 exe&#xff0c;列出其界面按钮控件的序号与文本名&#xff0c;然后点击包含特定文本的按钮控件。以下是更新后的代码&#xff1a; #include <QCoreApplication> #include <QProcess> #include <QDebug> #include…

基于Jenkins的DevOps工程实践之Jenkins共享库

文章目录 前言Jenkins共享库结构1、共享库演示2、知识点补充3、实践使用共享库格式化输出日志4、groovy基础语法4.1、 什么是 Groovy&#xff1f;4.2、groovy特点4.3、运行方法4.4、标识符4.5、基本数据类型4.5.1、string类型4.5.2、list类型 4.6、函数使用4.7、正则表达式 5、…