‘Can't connect to MySQL server on localhost (10061)‘导致一下午白忙活

8 篇文章 0 订阅
1 篇文章 0 订阅

一周都在干其他事情,没有时间去开发ruby.

早上领导安排开发一个ruby的新功能,这才停下手头其他的工作,准备完成这项任务。

当然开发的工作,实在linux 环境下进行的,需要远程连接mysql,连接之下出现了此error,为此忙活了一下午,解决此问题。


第一步:排查问题,首先在linux下,用命令可以连上,用程序连接mysql也可以连上,只是连接某些表的时候,报莫名其妙的错误提示(下面,会说明linux练级mysql过程的)


linux下连接mysql


   在linux下进到mysql的bin目录下,然后输入:mysql -u root -p,紧接着在出现的enter password:输入password,及进入到mysql数据库中。mysql>show databases;会列出所有的数据库。此时表名已经连接上mysql数据库,后续步骤就不在赘述。


第二步:既然这样,是不是mysqlworkbench本身的问题,首先检查链接的IP 和 端口号,以及账号和密码;最后又把mysqlworkbench卸载重新安装了仍然无济于事




mysqlworkbench连接mysql


   在mysqlworkbench中选择Connection的MySQL,紧接着出现一个New Connection对话框,在Connection Name中随便输入一个连接名,如:test,Host Name/IP Address中输入localhost或者127.0.0.1(数据库装在本机),port是默认的3306,User Name也是系统默认的root,Password输入安装MySQL时设置的密码,然后点下面的Test Connection,结果就出现2003-can‘t connect to mysql server on localhost(10061)。我用的是mysql5.5.版本,它也自带了一个GUI数据库工具mysql workbench,用此工具连也出现如上错误。用sqlyog也一样出现错误。


第三步:找白老师和谷老师:


1)首先我再把自己的问题描述一下:之前好好的,突然的mysqlworkbench工具连接mysql出现2003——can‘t connect to mysql server on localhost(10061)  


cmd能够链接上,程序可以链接上(这说明账号密码以及端口号没有任何问题,服务当然也是开启的)


(抱怨)百度Google一大堆结果里面,怎么会有你的问题的结果呢?


2)先说正确的结果,这是费了老半天的查找,最后从一个论坛里面得到的正确结果,百度和Google都干嘛吃去了?---- 仅仅是抱怨,因为毕竟是搜索引擎嘛!!!


正解:我也遇到相同的问题,好不容易在网上找到解决方法,楼主试一下这个方法:
 修改my.cnf文件,把
bind-address = 127.0.0.1
改成
bind-address = 0.0.0.0
如果没有的话就加上去(我就是这种情况,然后mysqlworkbench终于可以连上了!)(问题解决)

修改完成后重启

/etc/init.d/mysqld restart


3)百度返回的结果最多的是如下:(这些结果并没有错,错在你的问题比较刁钻了)


分析问题:这句话的意思是“不能够连接到主机(名称为localhost)上的MYSQL服务”。既然连接不到,原因就可能是:(都不是)


1----主机localhost上不存在MYSQL服务;2----主机上存在MYSQL服务,但是服务未启动。当然,这里不可能是用户名或者密码错误(因为提示就如一样了)
 解决问题:针对问题的可能原因一一排除。1---这里的主机名为localhost,如果localhost不指向本机的IP127.0.0.1就不可以了,所以针对第一种可能性的解决办法就是查看文件etc/my.cnf,查看bind-address=127.0.0.1


2---如果是服务未启动。

执行命令

/etc/init.d/mysqld restart

"Can't connect to MySQL server on localhost 10061 unknown error"是一个常见的MySQL连接错误。这个错误通常表示无法通过指定的主机和端口连接到MySQL服务器。可能的原因包括以下几点: 1. MySQL服务器未运行:请确保MySQL服务器已经启动。你可以尝试重新启动MySQL服务来解决此问题。 2. 主机名或端口号错误:请确保你使用的是正确的主机名和端口号。默认情况下,MySQL服务器使用localhost作为主机名,端口号为3306。如果你使用了不同的主机名或端口号,请确认其正确性。 3. 防火墙阻止连接:防火墙设置可能会阻止与MySQL服务器的连接。请检查你的防火墙设置,确保允许从你的应用程序连接到MySQL服务器。 4. MySQL配置错误:有时候,MySQL服务器的配置文件可能存在问题,导致无法连接。你可以检查MySQL配置文件(通常是my.cnf或my.ini),确保其中的主机名和端口号与你尝试连接的一致。 5. MySQL授权问题:如果你使用了用户名和密码进行连接,可能是由于授权问题导致连接失败。请确保你使用的用户名和密码是正确的,并且具有足够的权限来连接到MySQL服务器。 如果以上方法都没有解决问题,你可以尝试在命令行中使用telnet命令来测试与MySQL服务器的连接。例如,使用以下命令测试连接到localhost的3306端口: ``` telnet localhost 3306 ``` 如果连接成功,你将看到一条欢迎消息。如果连接失败或超时,则表示存在其他问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值