Navicat连接MySQL数据库的一些问题与解决方案

安装MySQL数据库与Navicat并不算难事,关键是怎么让他们工作花费了我整整一天的时间,最终才把弄好。遇到各种各样的问题,上网看了大量博客,发现很多博客都是直接copy或者并不能非常好的解答自己遇到的问题。这里记录一下自己遇到的问题和解救方案。

关于软件

Navicat和MySQL直接在官网上下载即可,安装也是非常的方便。Navicat是收费软件,如果觉得自己比较富裕的话可以购买,如果想破解的话,网上也有非常多的教程(P.S:这里不建议下载“绿色版”或者“完美破解版”,很有可能是流氓软件或者是不完整功能,现在下载觉得可以使用,后续开发的时候就会遇到各种bug,所以推荐下载官方正版,然后破解。PP.S:在这里不给出破解的方法是因为,破解工具在后期可能就会因为产品的升级发生改变,导致不能皮杰,所以这里不给出破解教程。)

遇到的问题

这里只说一下自己遇到的问题和解决方法(不知道是不是版本问题,反正网上能搜到的解决办法我实际上都试了一遍........)

关于无法启动MySQL

1067:你的MySQL服务没有打开,进入任务管理器->服务,在目录下查看MySQL服务是否已经开启;如果是MySQL Developer版本的话,应该会有MySQL与MySQL80这两个服务,只要MySQL80是开启的就代表你服务开启成功了。

3534:这个应该是最常见的错误。可能的原因是实际上你的mysqld进程或者其他进程占用了端口3306,将进程kill一下就可以了,当然这种情况出现的原因比较低。最普遍的可以尝试下面的方法:
将C:\Program Files\MySQL\MySQL Server 8.0\bin加入到环境变量path中,这里的路径可能和我不一样,填写你们自己的路径;

进入C:\Program Files\MySQL\MySQL Server 8.0,首先看是否有data文件夹
1.如果没有data文件夹就进入C:\Program Files\MySQL\MySQL Server 8.0\bin目录下,shift加鼠标右击,点击进入命令窗口(cmd窗口),输入下列命令:

mysqld --install mysqld --initialize net start mysql

2.如果有data文件夹,先将data文件夹下所有的文件清空或者移走,然后进入C:\Program Files\MySQL\MySQL Server 8.0\bin执行:

mysqld -remove mysqld --install mysqld --initialize net start mysql

如果还是3534,重启电脑重新启动一下服务试试。因为出现3534总体来说就是端口被占用、服务没有成功开启、data文件夹出现了问题、未加入path这些原因造成的。

1405:这个是最让我头疼的问题,好不容易解决了服务开启问题,但是无法登陆。登陆的方式为在C:\Program Files\MySQL\MySQL Server 8.0\binCMD窗口下输入mysql -u root -p然后输入密码登录即可,但是就是这里会出现1405的错误,有以下两个原因:
1.输对了密码,确保是正确的但却始终报错。这个很有可能是你配置Navicat出现的问题,更改了加密规则,所以进不了mysql命令窗口。这里我建议是重装一下mysql server,因为最为方便。
2.不记得密码了,加密方式没有更改。首先net stop mysql停止mysql服务,然后找到my.ini文件打开进行修改(一般会在mysql安装目录下C:\Program Files\MySQL\MySQL Server 8.0\',但也有可能是在C:\ProgramData\MySQL\MySQL Server 8.0下,ProgramData需要打开“显示隐藏文件的功能”) 在my.ini中的[mysqld]下加上skip_grant_tables跳过权限检查,保存。 然后登陆mysql -u root -p`,这时计时需要输入密码一个回车就可以正产登陆了,之后通过下列命令:

#将数据库切换至mysql库 mysql> USE mysql; #修改密码 mysql> UPDATE user SET password=PASSWORD(‘newpasswd’)WHERE user=’root’; #刷新MySQL权限相关的表 mysql> flush privileges; mysql> exit;

修改密码成功后,将my.ini文件中加入的跳过权限语句删除或加#号注释。重启服务,使用修改后的密码登录即可。

关于Navicat

如果成功解决了破解问题,其实Navicat遇到的问题就非常的少,基本上只有2059错误。
2059:出现2059这个错误的原因是在mysql8之前的版本中加密规则为mysql_native_password,而在mysql8以后的加密规则为aching_sha2_password。我们可以将mysql用户登录的加密规则修改为mysql_native_password。
请确保能进入MySQL>这个输入命令的窗口,

第一条: ALTER USER \'root\'@\'localhost\' IDENTIFIED BY \'password\' PASSWORD EXPIRE NEVER; 第二条: ALTER USER \'root\'@\'localhost\' IDENTIFIED WITH mysql_native_password BY \'password\'; #注意此处的password为你的登陆密码,本人的操作为: 第一条: ALTER USER \'root\'@\'localhost\' IDENTIFIED BY \'123****\' PASSWORD EXPIRE NEVER; 第二条: ALTER USER \'root\'@\'localhost\' IDENTIFIED WITH mysql_native_password BY \'123****\'; 关于删除mysql

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwgfsj.html