ERROR 2002 (HY000): Cant connect to local MySQL server through socket的解决方法

简介: 连接MySQL提示ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.
+关注继续查看
连接MySQL提示ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)的解决方法


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



原文:http://www.aiezu.com/db/mysql_cant_connect_through_socket.html

mysqlmysqldumpmysqldump,php连接mysql服务常会提示下面错误:



产生此问题的原因一般有两个:

1、mysql服务未正常运行:

由于mysql的socket文件是由mysqld服务启动时创建的,如果mysqld服务未正常启动,socket文件自然也不会被创建,当然会找不到socket文件了。对于判断mysql服务是否启动,我们可以使用下面命令:



2、socket文件路径在配置文件中设置不完整:

这一般是由于我们修改了mysql配置“/etc/my.cnf”引起的。比如我们修改了配置文件中“[mysql]”选项下的“socket”参数,而未指定“[client]”、“[mysql]”选项的“socket”参数,导致mysql使用默认的socket文件位置去寻找socket文件,从而导致未找到socket文件而引发此错误。


解决办法:

下面是解决方法,更详细的介绍可以参考:http://aiezu.com/article/mysql_cant_connect_through_socket.html

1、mysql服务未正常运行:

如果是服务未启动,我们运行“service mysqld start”启动服务即可。如果服务启动不了,就去查看mysql服务日志,寻找原因并解决再启动



2、完善mysql配置文件:

如果确认mysql服务正常运行,还提示文章标题的此错误,那就是“/etc/my.cnf”配置文件的问题了。解决办法是修改“/etc/my.cnf”配置文件,在配置文件中添加“[client]”选项和“[mysql]”选项,并使用这两个选项下的“socket”参数值,与“[mysqld]”选项下的“socket”参数值,指向的socket文件路径完全一致。如下:



其中socket等于的路径就是socket文件的位置,我们只要修改my.cnf文件,告诉mysql,mysqldump,mysqladmin等命令,mysql服务的socket文件位置在哪里,然后重启mysqld服务即可。


3、php连接mysql服务提示"Can't connect to local MySQL server through socket..."的解决方法

有时候mysql服务正常运行,用户名密码也完全正确,使用php的mysql_connect函数却连接不了mysql,调用php的mysql_error()函数提示“Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'”,这是我们需要修改/etc/php.ini文件。
在/etc/php.ini文件中"[MySQL]"项下找到"mysql.default_socket",并设置其值指向正确的mysql服务socket文件即可,如:


4、python连接mysql提示"Can't connect to local MySQL server through socket..."的解决方法:

在连接mysql数据库函数中指定socket文件,如下:


5. php pdo连接mysql提示"Can't connect to local MySQL server through socket..."的解决方法:

同样在连接字符串添加mysql socket文件的位置即可,如下:




  

 







 



 
                                                            







            






  



   

  
 

 





  





 



  



 
>

     

      

 


 

    


>

 
>

          

       




    

 
  

        
           
 
   
   
   

 
 

 

   

 






>
相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
21天前
|
关系型数据库 MySQL 分布式数据库
"Can't connect to MySQL server" 错误
"Can't connect to MySQL server" 错误
46 2
|
5月前
|
关系型数据库 MySQL Windows
mysql出现ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘localhost‘ (10061)的解决方法
本文讲解:mysql出现ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘localhost‘ (10061)的解决方法
|
关系型数据库 MySQL 数据库
报错:ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘localhost‘ (10061)
报错:ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘localhost‘ (10061)
403 0
报错:ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘localhost‘ (10061)
|
关系型数据库 MySQL
ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘localhost‘ (10061)
ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘localhost‘ (10061)
160 0
ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘localhost‘ (10061)
|
关系型数据库 MySQL 数据安全/隐私保护
推荐文章
更多