Navicat连接mysql时出现2003-Can‘t connect to MySql server on ‘localhost‘(10061)错误

Navicat premium连接mysql时,出现2003-Can't connect to MySql server on 'localhost'(10061)错误

(cmd中也是此提醒)

1.检查mysql是否启动;

检查安装mysql的目录下是否有mysqld.exe,如果没有,就是没有mysql服务,进入官网https://dev.mysql.com/downloads/mysql/下载适合自己电脑的32位或64位,下载后直接启动。

2.检查cmd是否是以管理员权限执行;

3.检查安装目录C:\Program Files\MySQL\MySQL Server 5.6下的my.ini和my-default.ini文件,本电脑配置如下:

4.检查mysql的登陆用户名和密码是否正确;

运行上图界面,提示输入密码,

如果是自己闪退,则是密码不错误,若密码不正确,可参考5。如果登陆成功,会显示如下信息:

5.修改用户名密码;

5.1 打开mysql.exe和mysqld.exe所在的文件夹,复制路径地址

5.2 打开cmd命令提示符,进入上一步mysql.exe所在的文件夹

5.3 启动mysql(这里注意net start mysql的执行)

5.4 输入命令mysqld --skip-grant-tables  回车,此时就跳过了mysql的用户验证。注意输入此命令之后命令行就无法操作了,此时可以再打开一个新的命令行。注意:在输入此命令之前先在任务管理器中结束mysqld.exe进程,确保mysql服务器端已结束运mysql.exe所在的文件夹,直接输入mysql

5.5 输入show databases;,可以看到所有数据库,此时说明成功登陆,但是,如果登陆发现只显示如下形式:

如果不显示mysql,则尝试如下操作:

 5.5.1 用select user();查看用户发现

 5.5.2 用show grants;查看权限

 5.5.3 退出后,切换为root用户,再查看数据库

5.6 其中mysql库就是保存用户名的地方。输入 use mysql;   选择mysql数据库;

5.7 show tables查看所有表,会发现有个user表,这里存放的就是用户名,密码,权限等等账户信息。

5.8 输入select user,host,password from user;   来查看账户信息;

5.9 更改root密码,输入update user set password=password('123456') where user='root' and host='localhost';(这里假设你设置的新密码时123456)

5.10 再次查看账户信息,select user,host,password from user;   可以看到密码已被修改。

5.11 退出命令行,重启mysql数据库,用新密码尝试登录;

5.12 此时再在Navicat premium中连接mysql,不再提示错误

 

退出mysql:net stop mysql

参考链接:

查看mysql用户名和密码:https://jingyan.baidu.com/article/915fc414b8c9b051384b2051.html

修改密码:https://jingyan.baidu.com/article/454316ab4e9e65f7a7c03ad1.html

Access denied for user 'root'@'localhost' (using password:NO):https://www.cnblogs.com/qq78292959/p/3641972.html

Access denied for user 'root'@'localhost' (using password:NO):https://www.cnblogs.com/lzyThingking/p/6501316.html(更好)

MySQL-show databases数据库显示不完整:https://blog.youkuaiyun.com/l2580258/article/details/71081394(重要参考文档)

### 解决 Navicat 连接 MySQL 报错 2003 当遇到错误 `2003 - Can't connect to MySQL server on 'localhost' (10061 "Unknown error")` ,这通常意味着客户端无法建立与 MySQL 数据库服务器的连接。以下是几种常见的解决方案: #### 确认 MySQL 服务状态 确保 MySQL 服务已启动并正在运行。可以通过操作系统的“服务管理器”来查看 MySQL 是否处于活动状态[^2]。 #### 验证端口配置 默认情况下,MySQL 使用的是 3306 端口。确认该端口没有被其他程序占用,并且防火墙设置允许此端口上的通信。如果是在 Docker 容器内运行 MySQL,则需特别注意容器映射外部端口的情况,有会因为端口冲突而引发此类问题[^4]。 ```bash netstat -an | findstr :3306 ``` 上述命令可以帮助检查是否有进程监听在 3306 上;如果没有找到任何匹配项,则表明可能存在端口未开启或其他应用占用了相同端口的问题。 #### 修改主机地址 对于本地连接而言,“localhost” 和 “127.0.0.1” 是等价的,但如果其中一个不起作用,尝试切换另一个作为测试手段。某些环境下两者的表现可能会有所不同[^3]。 #### 检查权限和认证插件兼容性 部分版本更新后的 MySQL 可能引入新的身份验证机制,默认的身份验证插件可能导致旧版工具(如较早版本的 Navicat)无法完成正常的登录流程。此可考虑调整用户的认证方法为更通用的形式,比如 `mysql_native_password`[^5]。 ```sql ALTER USER 'your_username'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; FLUSH PRIVILEGES; ``` 以上 SQL 命令用于更改指定账户使用的密码加密算法至更为广泛支持的方式。 #### 排除网络因素干扰 即使目标是本机部署的服务实例,在复杂的企业级环境中仍有可能受到虚拟化平台、安全策略等因素的影响。因此建议暂关闭不必要的网络安全防护措施来进行排查工作,待定位具体成因后再做相应处理。 通过执行这些步骤中的某一项或多项组合起来往往能够有效缓解乃至彻底解决问题。当然,具体情况还需结合实际环境进一步分析判断。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值