Linux下Mysql数据库 Can 't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock '

原创 2013年12月30日 15:55:11
Mysql数据库安装到Linux的时候会在linux建立一个名为mysqld的服务。
可以使用命令:chkconfig --list ,查看linux系统中所有的服务。

可以看到上图倒数第二行为mysqld服务。
如果此服务不开启,就是mysql服务器没有开启,下面做个试验:

经查询,当前没有mysql进程,mysqld服务没有打开。如下图,将连接不上mysql服务器,这是很自然的,没有打开mysql服务器,就没有生成mysql.sock文件,系统找不到mysql.sock文件。

那么就开启mysqld服务,使用命令:service mysqld start
如下,但是有时候即使打开mysqld服务,还是连不上,如下:
这是由于,mysql数据库由于使用不同方式安装,使得数据库开启时寻找mysql.sock的方式也不同,此处在/export/servers/mysql/mysql.sock下寻找此文件。但这个路径下却没有此文件,所以无法连接。
但实际上mysql.sock文件在开启mysqld服务的时候已经生成了,只是不在/export/servers/mysql/路径下,下面手动查查它在哪里。
使用命令:find / -name mysql.sock
从/目录下查找mysql.sock文件的位置。

发现本机器的mysqld服务开启后,mysql.sock生成到了/export/servers/mysql/tmp/(其他机器可能不是此路径,需要用find命令查),而数据库连接时却到/export/servers/mysql/中去查找,自然是找不到的。
/tmp/mysql.sock是在第一次开启mysqld服务时生成的。
为了能让数据库连接时顺利找到此文件,有如下几种方式:

1.)你可以通过修改/etc/my.cnf文件来修正它,打开文件,可以看到如下的东东: 
  [mysqld] 
  socket=/var/lib/mysql.sock 
  改一下就好了,但也会引起其他的问题,如mysql程序连不上了,再加一点: 
  [mysql] 
  socket=/tmp/mysql.sock 
  或者还可以通过修改php.ini中的配置来使php用其他的mysql.sock来连,这个大家自己去找找
  
2.)创建连接方法:
  ln -s  /export/servers/mysql/mysql.sock  /export/servers/mysql/tmp/mysql.sock 

此时,在/export/servers/mysql中建立了软链接。当然也可以建立/tmp/mysql.sock的软连接。

此时,可以顺利连上mysql服务器了。




版权声明:本文为博主原创文章,未经博主允许不得转载。

Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’解决方法

转自: http://www.cnblogs.com/eoiioe/archive/2008/12/28/1363947.html
  • u010956354
  • u010956354
  • 2014年09月10日 17:15
  • 3141

php连接mysql数据库Can't connect to local MySQL server through socket /var/lib/mysql/mysql.sock

在部署一个阿里云web环境 ,先是安装了阿里云提供的NMP环境。导致了程序的一些php脚本无法正常运行。于是有用yum安装了一个php。但是在运行脚本时。会报 Can't connect to loc...
  • llnara
  • llnara
  • 2013年03月11日 11:37
  • 9554

MySQL "Can't connect to local mysql server through socket '/var/lib/mysql/mysql.sock'"问题的解决办法

    今天安装了MySQL 5.5的社区里程碑版,按照顺序,我先卸载了以前的5.0版,然后依照顺序分别安装了服务器、客户端(rpm版)。    谁知在执行mysql命令的时候,总是提示:"Cant ...
  • derryzhang
  • derryzhang
  • 2009年12月22日 11:16
  • 5690

解决mysql报错Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’

启动mysql 报错: ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysq...
  • chuang3344
  • chuang3344
  • 2017年06月27日 23:16
  • 1946

zabbix到安装界面报错" Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock"

mysql和zabbix正常安装后在,zabbix安装页面(连接数据库的界面)时,提示“”Error connecting to database: Can't connect to local My...
  • wzqzhq
  • wzqzhq
  • 2017年02月21日 13:48
  • 4424

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

今天服务器遇到了一个很熟悉的问题 输入#mysql -u root -p ERROR 2002 (HY000):Cant connect to local MySQL server  随即上网找寻答案...
  • lmss82
  • lmss82
  • 2009年08月05日 22:42
  • 176922

centos下mysql问题记录--ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/

一、关于云主机的mysql最近一次云主机的服务器由于被攻击便打算重装一边mysql,彻底删除相关文件后重新安装,没想到怎么装都会出问题。再启动的时候总是出现ERROR 2002 (HY000): Ca...
  • qq_26446443
  • qq_26446443
  • 2016年12月06日 19:40
  • 1934

Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock

[root@localhost template_c]# mysql -uroot -p Enter password: ERROR 2002 (HY000): Can't connect to lo...
  • zhezhebie
  • zhezhebie
  • 2017年06月26日 19:05
  • 747

MySQL连接报错:Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (111)

MySQL连接报错:Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (111)报错原因 :...
  • a630895452
  • a630895452
  • 2017年08月20日 02:52
  • 435

阿里云centos Can't connect to local MySQL server through socket '/tmp/mysql.sock'

昨天在服务器上升级安装了python,费了点劲。 今天发现mysql上不去了,提示 mysql -uroot 提示 Can't connect to local MySQL server throug...
  • u010703523
  • u010703523
  • 2015年03月01日 07:08
  • 1223
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Linux下Mysql数据库 Can 't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock '
举报原因:
原因补充:

(最多只允许输入30个字)