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

本文记录了一次解决MySQL数据库无法连接的问题经历,包括错误排查、尝试解决方案及最终通过查看日志找到正确解决方法的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今日,有急事需要用到数据库,数据库却十分不给面子,竟然无法连接,以前完全没有问题的……

一如往日,熟练地键入连接指令,结果却给我抛出一个ERROR~

描述

第一感觉,是没有启动数据库,一看,果真没有启动,可是无论怎么启动都是抛出相同的ERROR

老办法,问百度,复制了错误提示,网上找到了一些解决方案,有一种比较“靠谱”(只是感觉上),然后尝试了一遍。
先查看是否存在/tmp/mysql.sock,结果发现没有改文件;
然后find指令搜了一遍,也没有搜到;
接着查看/etc/my.cnf配置文件,发现有关这个文件的那行代码默认是被注释掉的。

描述

于是将这里更改成了>>>

socket = /tmp/mysql.sock

并在该目录下创建了该文件,然后提到了777一个很大的权限,然后再次尝试链接,却发现抛出了“(38)”号错误提示(原来是(2)号),接着百度,发现并没有相关的解决方案,无奈,重新更改回来原样……

最后,没有办法了,抱着试一试的心态查看日志(mysqld started),发现了如下问题:

描述

经过再次查资料发现,引起该问题的原因是在之前启动mysqld时使用了safe模式。

直接运行mysqld程序来启动Mysql服务的方法很少见,mysqld_safe脚本会在启动MySql服务器后继续监控其运行情况,并在其死机时重新启动它。用mysqld_safe脚本来启动MySql服务器的做法在BSD风格的Unix系统上很常见,非BSD风格的Unix系统中的mysql.server脚本其实也是调用mysqld_safe脚本去启动MySql服务器的。

所以,在之后的启动mysql时,应使用>>>

mysqld_safe --user=mysql

描述

So……

描述

Very Good!Very Beautiful!!!

学会看日志,真的很重要……

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值