Navicat连接MySQL数据库常见错误及解决 您所在的位置:网站首页 更新数据库失败怎么解决 Navicat连接MySQL数据库常见错误及解决

Navicat连接MySQL数据库常见错误及解决

2024-07-14 18:31| 来源: 网络整理| 查看: 265

问题描述

MySQL在windows的命令行中可以正常地连接,运行;但是在Navicat连接却一直报错。

具体错误

连接上来就会报错:

第一个错误

2000 (HY000): Unknown MySQL error

在网上看了解决办法说明摘抄如下:

一口老血喷出来,事情是这样的 ,我安装好了数据库,启动也成功了。但是在Navicat上就是连接不上,一开始是 连接拒绝,后来是2000 (HY000): Unknown MySQL error。查了半天没发现问题在哪里。后来无奈搬出来梯子去谷歌,然后发现可能是SSL的问题,于是把 Use SSL 勾选了就好了。 小白不知道什么原理。这里记录下防止后面踩坑。 在这里插入图片描述 链接: https://blog.csdn.net/csdnms1994/article/details/104782650/

希望你们到这里就可以解决问题了,然而我连接后接着抛出如下图的问题。

第二个错误

2003-Can’t connect to MySql server on ‘localhost’(10061)

于是乎我接着百度

在这里插入图片描述 百度给出的答案基本是针对于在命令行中没有成功连接上MySQL,所以提供的解决办法都是让你去查看mysqld有没有启动运行,又或者在命令行中去启动mysql。 这里我也贴出来他人的解决思路:

检查mysql是否启动 检查安装mysql的目录下是否有mysqld.exe,如果没有,就是没有mysql服务,进入官网链接https://dev.mysql.com/downloads/mysql/下载适合自己电脑的32位或64位,下载后直接启动。 在这里插入图片描述检查cmd是否是以管理员权限执行在cmd中启动mysql 后续几种就不赘述,想看下面有链接: https://blog.csdn.net/juliarjuliar/article/details/82146535

还有一种思路是修改my.ini的配置文件(https://blog.csdn.net/u010700335/article/details/45765749) 第一步:排查问题,首先在cmd下,用命令可以连上,用程序连接mysql也可以连上,只是连接某些表的时候,报莫名其妙的错误提示(下面,会说明cmd连接mysql过程的)

cmd下连接mysql

在cmd下进入到mysql的bin目录下,然后输入:mysql -u root -p,紧接着在出现的enter password:输入password,及进入到mysql数据库中。mysql>show databases;会列出所有的数据库。此时表名已经连接上mysql数据库,后续步骤不再再赘述。

第二步:既然这样,是不是navicat 本身的问题,首先检查链接的IP 和 端口号,以及账号和密码;最后又把navicat卸载重新安装了仍然无济于事

navicat连接mysql

在navicat中选择Connection的MySQL,紧接着出现一个New Connection对话框,在Connection Name中随便输入一个连接名,如:test,Host Name/IP Address中输入localhost或者127.0.0.1(数据库装在本机),port是默认的3306,User Name也是系统默认的root,Password输入安装MySQL时设置的密码,然后点下面的Test Connection,结果就出现2003-can’t connect to mysql server on localhost(10061)。我用的是mysql5.5.版本,它也自带了一个GUI数据库工具mysql workbench,用此工具连也出现如上错误。用sqlyog也一样出现错误。

第三步:找白老师和谷老师:

1)首先我再把自己的问题描述一下:之前好好的,突然的navicat工具连接mysql出现2003——can’t connect to mysql server on localhost(10061)

cmd能够链接上,程序可以链接上(这说明账号密码以及端口号没有任何问题,服务当然也是开启的)

(抱怨)百度Google一大堆结果里面,怎么会有你的问题的结果呢?

2)先说正确的结果,这是费了老半天的查找,最后从一个论坛里面得到的正确结果,百度和Google都干嘛吃去了?---- 仅仅是抱怨,因为毕竟是搜索引擎嘛!!!

正解:我也遇到相同的问题,好不容易在网上找到解决方法,楼主试一下这个方法: 修改my.ini文件,把

bind-address = 127.0.0.1

改成

bind-address = 0.0.0.0

如果没有的话就加上去(我就是这种情况,然后navicat终于可以连上了!)(问题解决)

然而通过上面提供的解决思路我终究还是没有解决问题,差点我就卸载MySQL重新安装了,但是…… 峰回路转,柳暗花明。

最后

我的解决方法

我在my.ini配置文件中加入下面的配置

default_authentication_plugin=mysql_native_password

紧接着我在cmd中就是可以不用密码直接登录了: 在这里插入图片描述 然后我再通过Navicat链接mysql就可以了,测试链接的图贴在下面。 在这里插入图片描述 在这里插入图片描述 这里我也并没有出现上面的第一种错误,不需要勾选使用SSL。 但是总觉得数据库不要密码似乎以后使用不安全,如是乎我有去百度了添加更改密码的方式。按照网上的格式:

ALTER USER 'root'@'localhost' IDENTIFIED BY '123456'

更改密码会提醒我:

ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement

但是我在命令行中执行

flush privileges;

命令后就可以更改密码了 在这里插入图片描述 然后再次在Navicat中链接即可,到这里问题算是解决了。具体错误的原因我没有弄明白,但是猜测是一开始在安装mysql时修改密码的方式应该出现了问题,应该是中间有什么原因使得我的root的用户存在问题,最后导致我没有办法登录上去。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有