一周都在干其他事情,没有时间去开发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