我的是CentOS6.3+MySQL5.1.57。重启了一次服务器后,使用 mysql -u root -p登陆是出现下面的错误: ERROR 2002 (HY000): Can't connect
来源:互联网 发布:au软件的功能 编辑:程序博客网 时间:2024/06/05 14:21
我的是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系统。并最终解决问题,很有成就感,我喜欢这种感觉。
- 我的是CentOS6.3+MySQL5.1.57。重启了一次服务器后,使用 mysql -u root -p登陆是出现下面的错误: ERROR 2002 (HY000): Can't connect
- mysql -u root -p 出错(ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/li)
- linux下启动、登陆 mysql 出现ERROR 2002(HY000):can't connect to local mysql server
- 更换mysql数据目录后出现ERROR 2002 (HY000): Can't connect to local MySQL serve
- 更换mysql数据目录后出现ERROR 2002 (HY000): Can't connect to local MySQL serve
- 更换mysql数据目录后出现ERROR 2002 (HY000): Can't connect to local MySQL serve
- 重启虚拟机(linux)后 mysql数据库出现mysq ERROR 2002 (HY000)错误的解决方案
- mysql登陆出现ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysq
- 使用mysql_secure_installation时出现ERROR 2002 (HY000): Can't connect to local MySQL server through socket
- MySQL错误ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)的解决
- Linux上mysql登陆错误解决办法ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/
- 遇到的错误-----MySQL使用临时表 出现 “ERROR 1137 (HY000): Can't reopen table” 的异常 解决方法
- 删/tmp下面的文件,好了吧,mysql连不了,ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var
- MySQL出现ERROR 2002 (HY000): Can’t connect to local MySQL server
- 一个无法访问mysql的错误: ERROR 2003 (HY000): Can't connect to MySQL server on 'x.x.x.x' (111)
- 【linux错误解决】MySQL远程连接ERROR 2003 (HY000):Can't connect to MySQL server on'XXXXX'的问题
- MySQL错误ERROR 2002 (HY000): Can't connect to local MySQL server
- MySQL错误ERROR 2002 (HY000): Can't connect to local MySQL server through socket
- 机房重构七层登录之问题总结
- Nginx+Tomcat+Redis+NFS搭建服务器集群
- bsoj:1773 -- 【模拟试题】最远距离点对
- Google反编译新工具——Enjarify
- 5.Git标签管理及使用GitHub
- 我的是CentOS6.3+MySQL5.1.57。重启了一次服务器后,使用 mysql -u root -p登陆是出现下面的错误: ERROR 2002 (HY000): Can't connect
- MySQL知识(四)——运算符
- SVN Unable to connect to a repository at URL
- ZOJ 2965 Accurately Say "CocaCola"!
- IBOutlet 和 IBAction 区别
- 很全面的freemarker教程
- HTML&&JavaScript实现一个简单的计算器
- jclouds BlobStore介绍
- Android Studio 哪些文件不需要加入版本控制中