ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/tmp/mysql.sock‘ (2)

本文仅仅提供一个查错思路,跟目前网络上的诸多情况不一样!!!
这是一个很有意思的错误,一个星期前安装mysql没成功,所以前几重装了系统并且先安的mysql8.0后配置ubuntu里面的其他相关需要配件(如anaconda等。。。)在当时按照其他博主安装mysql8.0的时候,我也不知道为什么就是会出现先装自动mysql5.7的情况,鄙人才疏学浅也没有去深究

今天重新连mysql的时候使用

mysql -uroot -p密码

发现报错ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

但是使用

mysql -uroot -h127.0.0.1 -p密码

却可以进去

找了一堆教程没有解决问题,期间修改配置文件,需要重启mysql服务的过程中使用

service mysqld status

会报错Unit mysqld.service could not be found(后来发现不影响,所以不管)

后来发现原因如下:
因为 我装了 Anaconda 所以打开终端默认进入的是虚拟环境(base)
在这样的情况下(激活了虚拟环境的情况)
使用:

mysql --version

显示的是mysql5.7版本!!!!
但是取消激活环境

conda deactivate

再次使用

mysql --version

终于是mysql8.0版本
此时使用

mysql -uroot -p密码

就可以正常进入mysql了
然后我去将虚拟环境中那个莫名其妙的mysql5.7卸载之后,在虚拟环境里使用的mysql版本就默认是系统本地的mysql版本了,暴哭ing

然后解释一下为什么之前用-h127.0.0.1进入和使用sql-workbench都能进呢,因为他们连接到的是mysql8.0