navicat创建连接 2002-can‘t connect to server on localhost(10061)且mysql服务已启动问题

当遇到navicat无法连接到localhost的MySQL服务器,错误代码10061,即使MySQL服务已经启动,可以检查MySQL端口号。默认为3306,但可能因配置更改。通过命令行输入`mysql -u root -p`后执行`show global variables like 'port';`来查看实际端口,并在navicat中更新端口设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

navicat创建连接 2002-can’t connect to server on localhost(10061)且mysql服务已启动问题

问题预览
问题如上图,用的是navicat

查看mysql是否启动

控制面板——管理工具——服务
找到mysql服务,发现已启动。若没启动右键启动即可

查看本地mysql端口号

默认是3306,如上图。但我这里安装时因为某些原因改过,也是这是造成这个2002问题的原因。

win+R运行cmd,输入mysql -u root -p
进入mysql命令行
输入 show global variables like ‘port’; 查看端口,注意要有分号
查看mysql本地端口号
发现是3305,回到navicat,端口改成3305

成功

最后

深知大多数初中级Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《Java开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

小编已加密:aHR0cHM6Ly9kb2NzLnFxLmNvbS9kb2MvRFVrVm9aSGxQZUVsTlkwUnc==出于安全原因,我们把网站通过base64编码了,大家可以通过base64解码把网址获取下来。

### Navicat 连接本地 MySQL 数据库时出现 2002 错误的解决方案 当遇到 `Navicat` 报错 `2002 - Can't connect to MySQL server on localhost (10061)` 的情况时,通常表明客户端无法与 MySQL 服务建立连接。以下是可能的原因及其对应的解决办法: #### 可能原因及解决方法 1. **MySQL 服务启动** 如果 MySQL 服务尚未运行,则会触发此错误。可以通过以下步骤确认并解决问题- 打开 Windows 任务管理器,在「服务」选项卡中查找名为 `MySQL` 或类似的条目。 - 若发现该服务处于停止状态,请右键单击并选择「启动」[^4]。 2. **防火墙阻止连接** 防火墙可能会拦截来自 Navicat 的请求。可以尝试临时关闭防火墙测试是否有效: - 在控制面板中进入「Windows Defender 防火墙设置」,暂时禁用防火墙。 - 测试连接后记得重新启用防火墙以保障系统安全[^5]。 3. **配置文件中的绑定地址问题** 默认情况下,MySQL 绑定的是 `127.0.0.1` 地址而非 `localhost`。如果使用后者可能导致解析失败。修改 MySQL 配置文件 (`my.ini`) 中的相关参数即可修复: ```ini bind-address=0.0.0.0 ``` 修改完成后重启 MySQL 服务使更改生效[^1]。 4. **端口号冲突或不匹配** 确认 NavicatMySQL 使用的端口一致,默认为 `3306`。若存在其他程序占用该端口需调整其值,并同步更新至 Navicat 设置里[^2]: - 编辑 `my.ini` 文件内的 `[mysqld]` 节点下的 `port` 字段; - 同样需要通过管理员权限执行命令行工具来验证端口可用性: ```bash netstat -ano | findstr :<your_port> ``` 5. **认证插件兼容性问题** 新版本 MySQL 改用了更安全的身份验证机制(如 `caching_sha2_password`),而部分旧版驱动可能不支持它。切换回传统模式有助于规避此类障碍: - 登录 MySQL 命令行界面作为 root 用户; - 对目标账户应用如下语句转换算法类型: ```sql ALTER USER 'your_username'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_password'; FLUSH PRIVILEGES; ``` 此外还需确保所使用的 JDBC/ODBC 驱动是最新的以便获得最佳适配度[^3]。 --- ### 示例代码片段展示如何检查端口占用状况 ```powershell # PowerShell 下检测指定端口是否被占用 Get-NetTCPConnection -LocalPort <your_port> | Select-Object LocalAddress,RemoteAddress,OwningProcess ``` ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值