详细解决linux安装mysql后登录报错Can’t connec

参考:
详细解决linux安装mysql后登录报错:Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (2)
连接localhost通常通过一个Unix域套接字文件进行,一般会自动生成在/tmp/mysql.sock,所以我们登录mysql时是需要mysql.sock套接字的。但装完后发现/tmp下并没有mysql.sock文件也不要慌,要蛋定~

解决方式1
首先可以通过“ find / -name ‘mysql.sock’ ”找下当前环境中是否存在mysql.sock,

如果找到msyql.sock,并且不在/tmp下,直接建个软连接就可以了。不要想着把mysql.sock拷贝到/tmp下哦,这个文件是不能操作的,否则会报错cp: 无法打开”mysql.sock” 读取数据: 没有那个设备或地址。
如果本地环境下压根就没有mysql.sock这个文件,那就参考解决方式2。

ln -s /tmp/mysql.sock 路径/找到的mysql.sock
1
解决方式2
如果没有找到mysql.sock,那就找my.cnf文件,一般会在/etc/my.cnf,然后修改里面生成mysql.sock路径的信息,保存,重新登录就搞定了。然而~有些大哥可能连my.cnf这个文件也没有,就很神奇,很崩溃,那就跳过这个方式,看解决方式3

socket = /tmp/mysql.sock
1
解决方式3
如果没有my.cnf文件,其实也不一定要非得通过本地套接字的方式登录mysql,通过指定IP地址的方式也是可以登录mysql的,使用tcp方式连接mysql,而不使用本地sock方式

mysql -h127.0.0.1 -u root -p
1
如果通过指定ip还不能登录,或者报以下错误

那就修改my.cnf文件,注释掉下面这行,保存再重新登录就可以了。

#bind-address = 127.0.0.1
1

恶心的又回来了,有些大哥人家本来就没有my.cnf这个文件,改个毛线啊!哈哈哈,所以通过指定ip的方式还是行不通,最后最后,上面都解决不了你的问题,那就只能使用下面的最后一招必杀技了

最后一招必杀技
systemctl status mysqld #查看mysql的服务状态
systemctl restart mysqld #重启mysql服务
1
2

mysql -u root -p #重新登录
1

神功大成,搞定!厉害吧?越厉害的杀技往往越简单,哈哈哈… …嗝~
————————————————
版权声明:本文为CSDN博主「隔壁老王爱单排」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:blog.csdn.net/qq_43221829/article/...

本作品采用《CC 协议》,转载必须注明作者和本文链接
MissYou-Coding
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!