解决Navicat for MySQL 的10061和1251报错问题
提示:此方法会将MySQL服务安装在C盘
第一个问题:10061报错
10061报错是因为电脑没有安装MySQL服务导致
解决办法:
我们首先需要去MySQL官网获取MySQL社区安装包
我用的这个:
MySQL Community Downloads.这个是官网的msi安装包链接
然后我们找到文件大些的installer,点击右边的Download
如下:
一堆英文,我们不用管,点击No thanks, just start my download.
如下
然后等下载完毕,再打开下载好的msi文件,如下
打开过程中会出现提示安装程序需要更改计算机的权限,点击“是”就行
之后就会出现安装界面,有些步骤只需要要点击Next
/execute
即可。我只截取部分操作
第一步点击Custom
自定义安装,如下
然后我们就将我们需要的MySQL服务添加进安装清单,(我是安装的是x64版本),如下:
点击Next
可能会弹出下面提示(One or more product requirements have not been satisified)。点击“No”,再点击下面的“Execute”就行了。如下:
也有可能弹出下面的Warning,点击“Yes”就行了
中间没什么特别操作,一直点击Next
/execute
即可
后面出现了需要我们输入密码的步骤,如下
这里我们先统一输入123456,因为后面有一步我们会改掉这个密码的
再点击Next
/execute/Finish
,直到完全安装完成。
安装完成后,再次打开msi安装包出现下面界面,代表MySQL服务安装成功啦。
第二步,环境配置
我们关闭所有窗口,回到桌面,按下Win+R
键调出运行,输入services.msc
确定
进入了Windows服务,我们再找到MySQL,右键点击“属性”
找到安装再在我们电脑的MySQL位置,如下:
复制该路径直到到bin文件为止(比如我的是:“C:\Program Files\MySQL\MySQL Server 8.0\bin”)
得到MySQL的bin文件路径后,我们回到桌面,按下Win+R
键调出运行,输入sysdm.cpl
,进入系统属性,点击高级
,再点击环境变量
如下:
找到系统变量里面的Path
如下:
双击Path
打开它,再点击“新建”,再将我们刚刚找到的MySQL下的bin文件路径粘贴过来,如下:
这里有些人会出现“编辑环境变量”只有一行,并没有看到一个列表的问题,如下:
这种情况的解决方法就是在这一行的最开头添加“C:;”即可
粘贴完成后必须点击“确定”直到回到桌面,不能直接关闭这些窗口如下:
这样我们的MySQL环境变量就配置好了。
这时候我们回到Navicat MySQL新建一个连接,会弹出1251错误,后面第三步提供解决办法,报错截图如下:
第三步,更改MySQL8.0后的加密规则
1251报错后,我们回到桌面,按下Win+R
键调出运行,输入mysql -uroot -p
,进入mysql.exe
注意:如果你在输入mysql -uroot -p后,cmd提示“mysql 不是内部或外部命令,也不是可运行的程序 或批处理文件”,说明没有成功做上一步:将MySQL的bin文件路径添加到系统变量
输入密码后,依次输入:
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER;
(这一行的123456
是我们在安装步骤中设置的密码。)
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '1234';
(这一行的1234
是我们设置的新密码,你也可以按自己喜欢修改。)
FLUSH PRIVILEGES;
(这一行的作用是刷新一下数据库。)
三个语句都显示Query OK,0 rows affected (0.01 sec)
,最后就成功更改了加密规则,如下:
这样,我们的MySQL的两个报错就解决了,打开Navicat MySQL,建立一个连接,输入新密码,点击连接测试,显示“连接成功”。
如果想让远程主机能访问到自己的数据库,但是遇到报错:Host xxx is not allowed to connect to this MySQL server
,请:
在装有MySQL的机器上登录MySQL mysql -u root -p密码
执行use mysql;
执行update user set host = '%' where user = 'root';这一句执行完可能会报错,不用管它。
执行FLUSH PRIVILEGES;