前言:这种解决方式除了能对遇到相同问题的readers提供帮助之外,当你今后在学习工作中使用其他软件再遇到类似问题时,希望也能想到这种思路并解决问题。

第一步、启动SQLyog点击连接时出现如下错误:

连接数据库 demo java 连接数据库1045错误_SQLyog连接错误

                                                                 (图1)

第二步、检查我的mysql安装目录的my.ini的基本配置信息是正确的

第三步、查看3306端口号占用情况

1、在命令提示符界面中键入netstat -ano显示信息如下:

连接数据库 demo java 连接数据库1045错误_SQLyog连接错误_02

                                                                       (图二)

这也就是在通常情况下连接问题出现的原因。为此,我们必须想法关闭另外一个不是监听3306端口的进程,那如何做呢?

2、启动任务管理器,通过图二中的PID查找相应的进程

连接数据库 demo java 连接数据库1045错误_1045错误_03

                                                                                                 (图三)

原来是有两个看似相同的可执行程序在运行,那到底停止哪一个呢?

3、还在任务管理器中,点击“进程”,找到如下两个进程并展开

连接数据库 demo java 连接数据库1045错误_SQLyog连接错误_04

                                                                                             (图四)

      诶,发现有一个是32位的,这个进程其服务是mysqlzt(mysqlzt是禅道软件中的服务),然后选择该进程并结束任务,到这里问题基本就解决啦,(若进程过多不好找,方式很多你可通过命令打开服务或通过  电脑-->右键-管理-->双击服务和应用程序下的服务-->找到对应服务并停止)如图:

连接数据库 demo java 连接数据库1045错误_1045错误_05

                                                                                              (图五)

再次运行SQLyog就能连接成功了,如图:

连接数据库 demo java 连接数据库1045错误_端口占用_06

                                                                                         (图六)

      温馨提示:如果这个被结束任务的进程其服务是自动启动的,在下次开机后你再次连接时可能还是会遇到同样的问题。所以,你最好把其服务改为手动并关闭。

总之、问题就这样愉快地解决啦,不要给我说直接在my.ini中添加skip-grant-tables,因为这不是一个电脑爱好者的解决之道。