mysql出现Can't connect to local MySQL server through socket '/Data/mydata/mysql.sock' (2)怎么办
发布日期:2021-07-01 04:04:38 浏览次数:2 分类:技术文章

本文共 930 字,大约阅读时间需要 3 分钟。

1、错误提示:

今天要用到数据库的时候突然数据库就报错了:

Can’t connect to local MySQL server through socket '/Data/mydata/mysql.sock’

2、分析错误原因:

在网上找了很久都没有找到是什么原因。对着前人的错误解决办法也没有成功。但是貌似知道是什么原因错误的。首先来说一下我的观点吧:

我出现的问题是:找不到mysql.sock,如果你可以运行。首先我们需要找到这个文件是在哪里。

find / -name mysql.sock

哈哈哈,我试着去找这个文件但是没有找到。很好!如果是这样的就对了。因为mysql在没有启动的时候是不会有这个文件的,这其实是一个套接字,在启动mysql的时候其实是利用这样的一个套接字来连接数据库的

如果你因为丢失套接字文件而不能连接,你可以简单地通过重启服务器重新创建得到它。因为服务器在启动时重新创建它。
如果和我一样,重启服务器还是没有任何变化,你可以先执行下面的语句:

mysql -uroot -h 127.0.0.1 -p

用这种连接方式相信大家都是可以连接成功的,这种方式就避免了使用套接字连接。

如果套接字文件被一个cron任务删除,问题将重复出现,除非你修改cron任务或使用一个或使用一个不同的套接字文件,我的解决办法是重新指定一个不同的套接字,或者说,我现在没有mysql.sock文件,所以我要想办法生成一个。
好的!现在我们找到了错误的原因了…

3、解决办法:

先把需要修改的文件放在前面。

我们一共需要修改这四个文件:
修改的目的在于保证他们产生的套接字目录完全一样

1、/etc目录下面的  my.cnf
2、 /etc/mysql/mysql.conf.d  目录下面的 mysqld.cnf
3、/etc/mysql/conf.d  目录下面的mysql.cnf
4、/etc/mysql  目录下面的 debian.cnf

首先我们看一下各个文件socket文件的目录在哪里:

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
其中第一张图片有一个被注释掉的socket文件的目录,后面的是我修改的。只要保证这四个文件的socket目录是一样的就好了。

3、测试成功:

在这里插入图片描述

转载地址:https://monologue.blog.csdn.net/article/details/104429380 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:python面向对象之练习题
下一篇:sublime text3 智能提示

发表评论

最新留言

关注你微信了!
[***.104.42.241]2024年04月24日 10时37分48秒