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

我的是CentOS6.3+MySQL5.1.57。重启了一次服务器后,使用> mysql -u root -p登陆是出现下面的错误:

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

于是,我检察mysql状态:

> /etc/rc.d/init.d/mysqld status

显示stop,未运行。

>/etc/rc.d/init.d/mysqld restart

Stopping mysqld: [ OK ]

MySQL Daemon failed to start.

Starting mysqld: [ FAILED]

>ps -ef | grep mysql

root 28221 27474 0 14:18 pts/0 00:00:00 grep mysql 只有这一条

至此,我可以确定,mysql无法启动。

我开始排错,首先发现/tmp/mysql.sock不存在

>vim /etc/my.cnf

socket=/var/lib/mysql/mysql .sock

/var/lib/mysql/mysql .sock同样不存在

>find / -name mysql.sock

显示为空,未查询到mysql.sock文件,mysql.sock文件丢失了。

我看网上有人说mysql.sock套接字文件可以简单地通过重启服务器重新创建得到它,

>init 6 重启命令

重启后发现错误还是那样,没有任何改变,mysql.sock重启服务器未自动生成。

接下来了解到mysql.sock是一个临时文件,在mysql启动时会自动生成,我的服务器未启动,自然就没有mysql.sock文件。

我尝试安全启动模式,mysqld_safe试图通过工作目录找到服务器和数据库,但mysqld_safe还是失败。

>mysqld_safe &

Starting mysqld daemon with databases from ....../mysql/var

STOPPING server from pid file .......pid

130802 15:17:11 mysqld ended

各种命令尝试无效的情况下,我开始了本次最大的收获----学会看错误日志。

在错误日志中,,启动失败的原因极为明显,file ‘./mysql-bin。000004’ not found,failed to open!

mysql开启了bin日志功能,到数据库根目录查看该文件是存在的,可能是文件权限的问题。

>chown -R mysql:mysql /....../mysql/var

>mysqld_safe &

>/etc/rc.d/init.d/mysqld restart

Stopping mysqld: [ OK ]

Starting mysqld: [ OK]

成功启动了!~

此时mysql.sock文件出现了,在/var/lib/mysql/mysql .sock。如下图所示,以”s”开头的文件都是socket文件。

> mysql -u root -p

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

/tmp/mysql.sock

解决这个错误很简单,因为/tmp/mysql.sock不存在,用这样的方法:

>ln -s /var/lib/mysql/mysql .sock /tmp/mysql .sock

以”l”开头的文件是软链接文件。或者可以通过修改/etc/my.cnf文件来修正它。

成功解决了!~

就是这样一个问题折腾了我这么久,错误日志让它无所遁形。查看错误日志可以明确问题所在,而不是像我之前那样盲目的找错。

俗话说授人以鱼不如授人以渔,学会查看日志,你也可以方便快捷的解决问题了。

错误使人进步,我与这个错误斗争了四个多小时,对linux的“一切皆文件”这句话有了更深的了解,对我学习文件系统管理(目录树)有很大的帮助,让我的思维真正的从windows操作系统转向成linux系统。并最终解决问题,很有成就感,我喜欢这种感觉。

mysql启动错误:mysql.sock丢失的更多相关文章

  1. MySQL启动错误排查

    一般情况下mysql的启动错误还是很容易排查的,但是今天我们就来说一下不一般的情况.拿到一台服务器,安装完mysql后进行启动,启动错误如下: 有同学会说,哥们儿你是不是buffer pool设置太大 ...

  2. mysql启动错误排查-无法申请足够内存

    一般情况下mysql的启动错误还是很容易排查的,但是今天我们就来说一下不一般的情况.拿到一台服务器,安装完mysql后进行启动,启动错误如下: 有同学会说,哥们儿你是不是buffer pool设置太大 ...

  3. Mysql 启动错误:the server quit without updating pid

    接到任务看看mysql为啥起不来,就上服务器上看了看,确实起不来,至于之前发生了啥也不知道. 服务器Ubuntu,mysql-5.6 1.先试下mysql登陆 mysql -uroot -p 发现报错 ...

  4. mysql启动错误与修复

    昨天想着备份数据库,但是没有成功,错误原因是#Got errno 28 on write 查到是因为磁盘空间不足或者mysql设置中max_allowed_packet变量设置过小 在mysql命令行 ...

  5. mysql启动错误之mysql启动报1067错误如何解决

    MYSQL启动报1067错误,系统日志中是“服务 mysql 意外停止” Mysql日志中则是:Plugin 'FEDERATED' is disabled. 解决方法: 1.在MY.INI文件中的 ...

  6. mysql启动错误解决

    mysql 启动时,报错一般都不明显,因此我们需要配置错误日志 #vim /etc/my.cnf xxxxxxxxxx 1   1 #vim /etc/my.cnf 在[mysqld]下添加 log_ ...

  7. mysql 启动错误-server PID file could not be found

    [root@centos var]# service mysqld stop MySQL manager or server PID file could not be found!       [F ...

  8. mysql 启动错误1026

    进入“事件查看器”“应用程序”果然发现很多MySql的错误Default storage engine (InnoDB) is not available 于是进入MySql的安装目录找到my.ini ...

  9. MySQL启动错误---发生系统错误/系统找不到指定的文件。

    今天启动mysql时,突然报错发生系统错误,系统找不到指定的文件.当时有点懵,安装mysql 之后,一直就没有修改过,怎么会报错呢?上网搜索了一下,重新安装一下mysql服务就可以了,现在也不知道什么 ...

随机推荐

  1. 基于GO语言的PBFT共识算法

    最近采用GO语言实现了一个PBFT共识算法的demo,主要用于展示算法的核心逻辑 github地址:https://github.com/w3liu/consensus/tree/master/pbf ...

  2. 初识python: xlsxwriter 将数据写入Excel

    使用 xlsxwriter 模块将数据写入excel . #!/user/bin env python # author:Simple-Sir # time:2020/9/24 12:51 # 使用 ...

  3. spring boot热部署 -- 实现 后端java热更新 -- 详细操作 【idea 的 JRebel破解】

    1.前言 上一随笔写了如何使得spring boot热更新前端 ,但后端java部分无法热更新. 对于Java热更新,以前常使用  springloaded  ,但是缺点 和bug很多 无法实现真正意 ...

  4. debian8.4系统安装后的一些设置

    1.添加软件源  su到root用户vi  /etc/apt/sources.list      也可用gedit  /etc/apt/sources.list   (gnome下用,如果kde下则用 ...

  5. vue-cli axios封装(element-ui)

    1.http.js /** * * http配置 */ import axios from 'axios'import { Loading, Message } from 'element-ui' / ...

  6. mybatis(CRUD)

    3.mybatis(CRUD) 有了mybatis,我们要对数据库进行增删改查只需要操作接口和mapper.xml文件,然后进行测试就可以了. 实例代码如下: 接口 public interface ...

  7. Lucene8.5.x全文检索工具

    本文的资源展示: hotword:是热词的文本,比如不是词语的中文,但是是什么人名或者公司名称的词语,需要分词成一个词语的将需要的加入hotword.dic stopword:无意义的词放入的词典,或 ...

  8. MySQL常用内置函数整理

    [1]@@datadir 函数作用:返回数据库的存储目录构造SQL语句 select @@datadir;ps:@@basedir返回mysql的根目录[2]@@version_compile_os ...

  9. 面试官问,Redis 是单线程还是多线程?我懵了

    我们平时看到介绍 Redis 的文章,都会说 Redis 是单线程的.但是我们学习的时候,比如 Redis 的 bgsave 命令,它的作用是在后台异步保存当前数据库的数据到磁盘,那既然是异步了,肯定 ...

  10. shell基础知识查缺补漏

    最近在看<Linux程序设计(第4版)>,其中有一个章节主要讲了shell脚本方面的,内容不细,但是利用较短的篇幅讲的也不少了.对我们自己来说也是一个查缺补漏的过程,所以就写下这篇读书笔记 ...