同一个电脑两个mysql,运行时报错:ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost:3306' (10061)
报错过程
首先,电脑上已经安装了两个数据库,一个sql server,一个mysql 8.0.11,他俩端口号一个3306,一个3307,现在又装了一个mysql 8.0.41,端口号设置3308.
但是问题来了,网上教程cmd运行mysql指令是这样的,
mysql -u root -p
然后报错了,错误是这样的:
ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost:3306' (10061)
然后我疯了,因为我根本不准备使用3306端口,跟他毫无关系。
排错过程
查了好多教程,大多数是因为mysql服务没有启动,我看了一下,我开了,所以我的问题跟这个没关系。
然后看了一下我的监听的端口到底是啥,去了下面这个地方看了一眼,
C:\ProgramData\MySQL\MySQL Server 8.0\
这里面有一个my.ini文件,里面配置了端口号,也就是:
port=3308
也就是说端口号没有配置错误,崩溃+1.
最后问了一下AI,因为网上的教程的情况跟我可以说是毫无关系,之前问了几次AI,啥用没有。
这次走运了,瞎猫碰上死耗子,发现了好用的解决方法。
解决方法
AI提示内容如下:
指定正确的端口号连接:当确认 MySQL 服务器监听的是 3308 端口时,需要在连接时显式指定端口号。
使用命令行连接:
mysql -u 用户名 -p -h 127.0.0.1 -P 3308
示例:
mysql -u root -p -h 127.0.0.1 -P 3308
如果使用的是图形化工具(如 MySQL Workbench):在连接配置中,将端口号改为 3308。
当然,我的用户名确实是root,也就是说,连接mysql的时候,如果你修改了端口号不是默认的3306,你需要显示指定端口号是多少。
mysql -u 用户名 -p -h 127.0.0.1 -P 3308
最终成功运行,如图:

其他
其实,为什么能确认我安装的程序本身没有问题呢,因为使用MySQL 8.0 Command Line Client启动mysql的时候,是正常使用的,所以最后我怀疑到了端口号的头上。
MySQL 8.0 Command Line Client正常运行的样子如下:


浙公网安备 33010602011771号