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

我的是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. 虚拟WiFi

    转载用WinForm写一个虚拟WiFi助手玩玩(附源码)   这早不是什么新鲜的东西了,同类软件已经有很多,但不是收费就是有广告,在学校的时候就想自已写一个了,但那时候啥也没学,对C的掌握程度也就是定 ...

  2. 拷贝构造函数,深拷贝,大约delete和default相关业务,explicit,给定初始类,构造函数和析构函数,成员函数和内联函数,关于记忆储存,默认参数,静态功能和正常功能,const功能,朋友

     1.拷贝构造 //拷贝构造的规则,有两种方式实现初始化. //1.一个是通过在后面:a(x),b(y)的方式实现初始化. //2.另外一种初始化的方式是直接在构造方法里面实现初始化. 案比例如以 ...

  3. Linux下df与du两个命令的差别?

    Linux下df与du两个命令的差别? 一.df显示文件系统的使用情况,与du比較,就是更全盘化. 最经常使用的就是 df -T,显示文件系统的使用情况并显示文件系统的类型. 举比例如以下: [roo ...

  4. Java数据库编程、XML解析技术

    数据库编程 JDBC概述 是Java Database Connecive,即数据库连接技术的简称,它提供了连接各种常用数据库的能力. 是一种用于执行SQL语句的Java API,可以为多种关系数据库 ...

  5. 网站静态化处理—CSI(5)

    网站静态化处理—CSI(5) 讲完了SSI,ESI,下面就要讲讲CSI了 ,CSI是浏览器端的动静整合方案,当我文章发表后有朋友就问我,CSI技术是不是就是通过ajax来加载数据啊,我当时的回答只是说 ...

  6. java 中关于json的使用方法

    json在数据传输起了很大的作用,下面说说java中json的使用方法. 文章参考:http://www.codes51.com/article/detail_99574.html json串示例 [ ...

  7. SQL Server 2012的附件失败,与硬链接的问题

    1.我在系统上做了硬链接,也就是把C盘的某个目录,映射为D盘. 2.把数据库文件mdf和ldf放入D盘.结果,SQL Server的企业管理器,无法从D盘里加载mdf或ldf文件,并且在目录下无法显示 ...

  8. 机器学习学习-Types of learning

    Types of learning 基于个人理解.于我们在面对一个详细的问题时.可以依据要达到的目标选择合适的机器学习算法来得到想要的结果.比方,推断一封电子邮件是否是垃圾邮件,就要使用分类(clas ...

  9. /bin/bash^M: bad interpreter: No such file or directory

    <今天遇到的问题,  网上有非常多类似的文章,  个人记录下来,  加深记忆,  已经明确的就绕路吧.> 运行一个脚本full_build.sh 时, 一直是提示我: -bash: ./f ...

  10. SQL数据库面试题

    SQL数据库面试题 1.SQL SREVER中,向一个表中插入了新数据,如何快捷的得到自增量字段的当前值 这种情况其实我们经常用到,比如我们新建了一个用户,建立完用户后我们希望马上得到这个新用户的ID ...