问题描述
最近开始了网络教学,由于某门课需要提前安装phpstudy
,于是安装完成并测试php
环境成功后,关闭phpstudy
,打开navicat
连接数据库时,发现连接失败。
关闭phpstudy
时保留MySQL
服务
打开 navicat
报错如下:
(X)1045-Access denied for user’root@localhost(using password:YES)
问题分析
看起来是密码错误,我们可以打开cmd
验证一下是不是真的是密码错误。我们使用 mysql -uroot -p
命令,接下来输入密码进行数据库连接,发现果真是密码错误。可是我明明记得我就是这个密码呀!一头雾水.jpg
经过一番思考后想起来我们关闭phpstudy
时选择了保留MySQL
服务,难道是保留的这个MySQL
服务不是我原来本机安装的MySQL
?
我们看到C:\phpstudy_pro\Extensions
路径下有一个 MySQL5.7.26
,也就是说 phpstydy
使用的MySQL
是这个MySQL5.7.26
,而我们在退出phpstudy
时也保留了这个MySQL5.7.26
服务,那么输入我们本地安装MySQL
的密码当然就会密码错误啦。
问题解决
经过如上的分析,我们只要停掉phpstudy
的MySQL5.7.26
,重新启动我们原来本机安装的MySQL
即可啦。
再次打开navicat
报错如下信息:
2003-Can’t connect to MySQL server on ‘localhost’(10061 “Unknown
error”)
MySQL
没有连接,我们可以采用如下方法:
找到MySQL
的安装目录,以我的为例:C:\Program Files\mysql\mysql-5_6_45-winx64
,启动bin
目录下的mysqld.exe
。
如果mysqld.exe
一闪而过的情况,那么很可能是phpstudy
的MySQL5.7.26
没有成功关闭,我们可以启动任务管理器后找到mysqld.exe
并右键结束它。
接下来再次执行MySQL
安装目录的bin
下的mysqld.exe
出现如下窗口(注意不要关闭它,如果把这个窗口关了,就相当于关闭了MySQL
服务):
接下来再次打开navicat
,双击数据库名,发现连接成功啦~