mysql command line client 打不开(闪一下消失)及解决

网上搜索到的解决办法:
1、找到mysql安装目录下的bin目录路径。
2、打开cmd,进入到bin目录的路径下,输入 mysql -u root -p。

问题分析:
1、查看mysql command line client默认执行的一些参数。方法:开始->所有程序->MySQL->MySQL Server5.5->MySQL5.5 command line client,右键属性。
mysql command line client 打不开(闪一下消失)及解决_第1张图片
 
2、注意看目标的内容。内容比较长,复制出来如下:
"G:\Program Files\MySQL\MySQL Server 5.5\bin\mysql.exe" "--defaults-file=G:\Program Files\MySQL\MySQL Server 5.5\ my.ini " "-uroot" "-p"
mysql command line client 打不开(闪一下消失)及解决_第2张图片

3、注意"--defaults-file=G:\Program Files\MySQL\MySQL Server 5.5\ my.ini" "-uroot" "-p" 中指定的配置文件是  my.ini文件。
这里我们查看一下安装目录,即
G:\Program Files\MySQL\MySQL Server 5.5,6个ini文件均不是  my.ini
  mysql command line client 打不开(闪一下消失)及解决_第3张图片

4.复制my-small.ini文件,更名为my-ini文件,保存。
mysql command line client 打不开(闪一下消失)及解决_第4张图片
 

5.启动mysql command line client,问题解决。
mysql command line client 打不开(闪一下消失)及解决_第5张图片

先描述一下我的问题:

刚装了MySQL Workbench,想使用一下,于是就想用它连接一下MySQL,结果弹出提示:Can't connect to MySQL server on 'localhost' (10061)!

 

检查了一下,MySQL服务正在运行啊,但是为什么连不上呢?在CMD中,可以正常使用MySQL的命令,防火墙我都没开,难道是端口的问题?于是用telnet 127.0.0.1 3306测试端口,结果它竟然提示连接失败:不能打开到主机的连接,在端口3306:连接失败!my.ini中确实用的是3306端口,用netstat -an查看,3306处于被监听状态。那到底是什么原因呢?

 

崩溃了一晚上,上网搜,终于找到解决办法了,先贴出来,如果大家有类似问题,不妨注意一下了:

前一阵子学校开了ipv6资源站,我就装了ipv6,就是这个ipv6出了问题!原本mysql是使用默认的ipv4的。在my.ini中没有bind-address = XXXX的参数,所以它使用默认的ipv4,现在我安装了ipv6后,可能它又默认使用ipv6了吧。

在my.ini的[mysqld]部分中加一行bind-address = 127.0.0.1,问题解决了!telnet 127.0.0.1 3306也能连通了,MySQL Workbench也能连上MySQL了!哈哈!

 

PS:MySQL这里使用了bind-address后,phpMyAdmin的config.inc.php中host最后也改成127.0.0.1,否则可能连不上MySQL。

你可能感兴趣的:(sql)