本人还是个菜鸟,下面是我的经验之谈,能解决一些问题,有不对的地方,敬请斧正。

我的是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丢失,mysqld_safe启动报错的更多相关文章

  1. ALERT日志中常见监听相关报错之三:ORA-609 TNS-12537 and TNS-12547 or TNS-12170 TNS-12535错误的排查

    1.11G中ALERT日志中有报错ORA-609 TNS-12537 and TNS-12547 or TNS-12170  12170, 'TNS-12535等问题的解决方法: Troublesho ...

  2. ALERT日志中常见监听相关报错之中的一个:ORA-609错误的排查

    參考MOS文档有: Troubleshooting Guide ORA-609 : Opiodr aborting process unknown ospid (文档 ID 1121357.1) Al ...

  3. ALERT日志中常见监听相关报错之二:ORA-3136错误的排查

    最近在多个大型系统中遇到此问题,一般来说假设client未反映异常的话能够忽略的. 假设是client登陆时遇到ORA-12170: TNS:Connect timeout occurred,能够參考 ...

  4. Oracle ALERT日志中常见监听相关报错之二:ORA-3136错误的排查 (转载)

    近期在多个大型系统中遇到此问题,一般来说如果客户端未反映异常的话可以忽略的.如果是客户端登陆时遇到ORA-12170: TNS:Connect timeout occurred,可以参考 http:/ ...

  5. 五、Centos7安装mysql:第一步查看系统有无mysql,然后删除之

    CentOS下MySQL的彻底卸载 原创 2015年10月12日 00:16:02 标签: 21149 编辑 删除 #################CentOS7下MySQL的卸载######### ...

  6. MySQL server has gone away(在执行sql的时候,莫名的报错)

    原文:https://cenalulu.github.io/mysql/mysql-has-gone-away/ MySQL Server has gone away报错原因汇总分析 原因1. MyS ...

  7. Spark离线日志分析,连接Spark出现报错

    首先,我的代码是这样的 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} object ...

  8. 【mysql】windows7 安装mysql5.7 解压缩版 + windows7 安装mysql5.7报错 计算机丢失了MSVCR120.dll解决方法

    1.下载mysql 5.7的zip版解压缩的安装包 在mysql官网:http://dev.mysql.com/downloads/mysql/ 2.解压到本地任意目录,并创建一个mysql_data ...

  9. mysql 5.7 ERROR 1054(42S22) Unknown column 'password' in ‘field list’ 报错

    mysql 忘记密码 报错?ERROR 1054(42S22) Unknown column 'password' in ‘field list’原因:5.7版本下的mysql数据库下已经没有pass ...

随机推荐

  1. java web.xml listener servlet 和filter加载顺序

    在该项目中总会遇到一些关于加载的优先问题.最近遇到了同样的类别似的,所以,如果你发现信息汇总下,以下是转载其他一些人,毕竟,人们写的不错.它不重复创建的轮.只是略作修改自己的观点. 首先能够肯定的是, ...

  2. update与fixedupdate差别

    猴子原创,欢迎转载.转载请注明: 转载自Cocos2D开发网--Cocos2Dev.com,谢谢! 原文地址: http://www.cocos2dev.com/?p=307 今天有人问我问什么我在处 ...

  3. linux虚拟文件系统2

    转自:http://rstevens.iteye.com/blog/849413 一.概述 Linux 文件系统是相当复杂的,本文只分析虚拟文件系统的实现,对具体的文件系统不涉及. 即使是虚拟文件系统 ...

  4. AngularJS之使用控制器封装业务逻辑

    AngularJS之使用控制器封装业务逻辑 控制器的作用 我们知道,在AngularJS中,实现数据绑定的核心是scope对象.那么控制器又有什么用呢? 简单地说,没有控制器/controller,我 ...

  5. AngularJS模块的详解

    AngularJS模块的详解 在讲angularjs的模块之前,我们先介绍一下angular的一些知识点: AngularJS是纯客户端技术,完全用Javascript编写的.它使用的是网页开发的常规 ...

  6. iOS--Swift开发中的单例设计模式

    最近在开发一个小的应用,遇到了一些Objective-c上面常用的单例模式,但是swift上面还是有一定区别的,反复倒来倒去发现不能按常理(正常的oc to swift的方式)出牌,因此搜索了一些帖子 ...

  7. C# 以嵌入到窗体的方式打开外部exe

    using System; using System.Collections.Generic; using System.Text; using System.Diagnostics; using S ...

  8. ASP.NET-FineUI开发

    ASP.NET-FineUI开发 随笔分类 - FineUI   ASP.NET-FineUI开发实践-10 摘要: 嵌套Grid,光棍月大放送,不藏着掖着.实在写的不好,没脸藏啊~只考虑显示排序修改 ...

  9. JavaScript中JSON字符串和JSON对象相互转化

    JSON字符串转化为JSON对象的2种方式 一.使用函数eval var personsstr = '[{"Name":"zhangsan","Age ...

  10. 缓存,spring

    applicationcontext.xml xmlns:cache="http://www.springframework.org/schema/cache" xsi:schem ...