Can‘t connect to local MySQL server through socket ‘/tmp/mysql.sock‘ (2)???全网唯一能解决MySQL登录客户端socket通
1.MySQL无法登录客户端?2.找不到socket通信文件?
·
文章目录
作者前言:
1.记得首先开启MySQL服务!!!
[root@localhost support-files]# bash mysql.server start
Starting MySQL.. SUCCESS! #确定你的MySQL服务已经正常启动中
2.建议使用绝对路径指向MySQL,进行登录,不然系统找不到你的MySQL;
3,以下的场景是我安装MySQL的路径,大家可以根据自己的实际安装路径进行调整排错;
场景1:系统中有两个my.cnf占用了优先级!!!所以导致socket通信路径找不到,因为系统不知道该读取哪一个my.cnf配置文件;
#1.使用find命令进行查找是否存在两个以上的my.cnf配置文件;
find / -name *.cnf
方法一:
#1.有两个my.cnf配置文件,可以考虑删除1个,然后保留你需要用到的my.cnf配置文件即可;
方法二:
#2.查看有两个my.cnf配置文件,不进行删除操作,我们可以指定系统的"环境变量",让系统知道我们需要读取的MySQL是在什么路径下的;
配置环境变量:通过设置PATH环境变量,你可以控制默认的MySQL客户端和服务器命令。例如,
如果你希望/usr/local/mysql/bin/mysql成为默认命令,你可以在你的shell配置文件(如
bashrc或.bash_profile)中添加以下行:
bash
export PATH=/usr/local/mysql/bin:$PATH
场景2:Can’t connect to local MySQL server through socket ‘/var/lib/mysql.sock’ (2),提示找不到socket通信文件,通信失败?
#1.首先确定socket通信文件的路径;
vi /usr/local/mysql/etc/my.cnf
socket=/tmp/mysql.sock #(建议大家使用这个路径)
wq 保存退出即可;
#2.赋予通信路径的权限
cd /tmp/
ll
chown mysql:mysql /tmp/mysql.sock #赋予通信路径socket的MySQL用户权限;
/usr/local/mysql/bin/mysql -u root -p #指定路径登录MySQL
场景3,终极方法:指定socket路径,进行登录(这个肯定可以)
#如果上面两种方法都尝试过,都是找不到socket路径的话,那么可以用以下这种方式;
#1.首先你还是要告知系统你的MySQL的启动路径先
export PATH=/usr/local/mysql/bin:$PATH #(根据自己的实际安装路径,进行调整)===告诉系统中我的MySQL安装在哪,告知启动路径;
#2.然后登录的时候,带上socket通信文件的路径;
mysql -u root -p socket=/tmp/mysql.sock
代码差点意思,唯有真情自在心中

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐
所有评论(0)