前言:这种解决方式除了能对遇到相同问题的readers提供帮助之外,当你今后再学习工作中使用其他软件在遇到类似问题时,希望也能想到这种思路并解决问题。
第一步、启动SQLyog点击连接时出现如下错误:
(图1)
第二步、检查我的mysql安装目录的my.ini的基本配置信息是正确的
第三步、查看3306端口号占用情况
1、在命令提示符界面中键入netstat -ano显示信息如下:
(图二)
可以发现有两个进程都在监听3306端口(如果你的mysql服务是监听的3306端口,且确定了mysql服务是开启的),这也就是在通常情况下连接问题出现的原因。为此,我们必须想法关闭另外一个不是监听3306端口的进程,那如何做呢?
2、启动任务管理器,通过图二中的PID查找相应的进程
(图三)
原来是有两个看似相同的可执行程序在运行,那到底停止哪一个呢?
3、还在任务管理器中,点击“进程”,找到如下两个进程并展开
(图四)
诶,发现有一个是32位的,这个进程其服务是mysqlzt(mysqlzt是禅道软件中的服务),然后选择该进程并结束任务,到这里问题基本就解决啦,(若进程过多不好找,方式很多你可通过命令打开服务或通过 电脑-->右键-管理-->双击服务和应用程序下的服务-->找到对应服务并停止)如图:
(图五)
再次运行SQLyog就能连接成功了,如图:
(图六)
温馨提示:如果这个被结束任务的进程其服务是自动启动的,在下次开机后你再次连接时可能还是会遇到同样的问题。所以,你最好把其服务改为手动并关闭。
总之、问题就这样愉快地解决啦,不要给我说直接在my.ini中添加skip-grant-tables,因为这不是一个电脑爱好者的解决之道。