本文系作者原创,转载请注明出处,谢谢!
刚装完MySQL 5.7没几天,今天打开Hedisql连接数据库突然报错:Can't connect to MySQL server on '127.0.0.1'(10061)。见图
我以为是自己用金山卫士优化开机的时候把MySQl的一些服务给禁止了导致的问题。然后依次点击"控制面板"-->>"系统和安全"->>"管理工具"->>"服务",进入服务列表,找到MYSQL57服务这一项:
上面显示是"启动",和其他服务"已启动"不一样。有点蹊跷,双击点进去看,
发现,"启动"、"停止" 、"暂停"、"恢复"四个按钮都不可用。这下子想重启服务也没办法了。开始动了卸载重装的念头,打开"控制面板"->>"程序"->>"程序和功能",准备卸载时,注意到了列表里有一项"MySQL Installer - Community",右击看到有个"更改"选项,想到类似office这类软件是可以在不卸载的情况下重新配置某些功能的,于是点开了"更改"选项。
但是报错接踵而来,提示访问C盘ProgramData下的MySQL文件夹下MySQL Installer for Windows被拒绝。
我想可能是文件夹权限的问题,于是右击C盘ProgramData下的MySQL文件夹,选择“属性”,把“只读”去掉勾需选,点击“应用”。然后重新运行MySQL Installer - Community的更改
点击"MySQL Server"右侧的"Reconfigure",接着跟第一次安装操作一样,重新配置MySQL Server。中间会碰到让输入当前数据库password以进行下一步,准确输入即可。然后会碰到一个提示要求“重新指定MySQL service在这台计算机上的服务名称,不能用第一次安装时的服务名,旁边会给出当前的服务名告诉你这个名称不能再用。比如,我第一次安装时服务名是MYSQL57,那这次重新配置我就得重新起个名字。
重新配置完,再运行Hedisql就可以连接MySQL了!
Tips:如果此时你再查看"服务"列表,会发现刚刚指定名称的服务已经出现了。并且第一次安装时的服务名竟然还在,如果你嫌它碍眼,可以按下面的步骤把这个服务删除。
在开始菜单“附件”里找到“命令提示符”,右击选中“以管理员身份运行”,然后在cmd窗口输入sc delete 服务名(sc delete 服务名 三者中间有空格),敲下回车就会提示该服务已删除。重启电脑后在“服务”列表里就不会有第一次的服务名了。
Finally,我在处理这个问题的时候还踩过不少坑,遇见过许多其他报错。上网搜了很多办法都无济于事。
简单列举一个:
这个问题很多人都碰到过,我试了网上的不少办法都不行。
所以最后还是建议 试试MySQL自带的重新配置功能:MySQL Installer - Community
这样就可以在不卸载的情况下接着使用先前的数据库和表等资源。