文档章节

Can’t connect MySQL server through socket的解决方法

lcdmusic
 lcdmusic
发布于 2016/03/17 00:30
字数 579
阅读 204
收藏 0

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

1

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

这是由于修改mysql服务的了socket文件mysql.sock位置,而导致无法通过mysql socket文件连接到mysql服务引起的,具体解决办法如下:
1、查看mysql服务的socket文件位置:
mysql socket文件的位置是在/etc/my.cnf中设置的,cat /etc/my.cnf内容如下:

1

2

3

4

[mysqld]

datadir=/storage/db/mysql

socket=/storage/db/mysql/mysql.sock

user=mysql

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

2、修改my.cnf文件:
在/etc/my.cnf文件中添加如下内容,并重启mysqls服务,即可解决mysql,mysqldump,mysqladmin的“Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'”问题:

1

2

3

4

5

6

7

8

9

10

11

12

[mysqld]

datadir=/storage/db/mysql

socket=/storage/db/mysql/mysql.sock

 

[mysql]

socket=/storage/db/mysql/mysql.sock

 

[mysqldump]

socket=/storage/db/mysql/mysql.sock

 

[mysqladmin]

socket=/storage/db/mysql/mysql.sock

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文件即可,
如:

1

2

3

[MySQL]

...省略n...

mysql.default_socket = "/storage/db/mysql/mysql.sock"

4、python连接mysql提示"Can't connect to local MySQL server through socket..."的解决方法:
在连接mysql数据库函数中指定socket文件,如下:

1

2

3

4

5

6

7

8

#!/usr/bin/python

from MySQLdb import connect

conn = connect(db="pzy", user="root", host="localhost", unix_socket="/storage/db/mysql/mysql.sock")

cur = conn.cursor()

count=cur.execute("show databases")

print 'there has %s dbs' % count

conn.commit()

conn.close()

5. php pdo连接mysql提示"Can't connect to local MySQL server through socket..."的解决方法:
同样在连接字符串添加mysql socket文件的位置即可,如下:

1

2

3

4

5

6

7

8

<?php

$dsn = "mysql:host=localhost;dbname=pzy;unix_socket=/storage/db/mysql/mysql.sock";

$db = new PDO($dsn, 'root', '');

$rs = $db->query("SELECT * FROM qrtest");

while($row = $rs->fetch()){

    print_r($row);

}

?>


本文转载自:http://www.aiezu.com/db/mysql_cant_connect_through_socket.html

lcdmusic
粉丝 3
博文 156
码字总数 9951
作品 0
朝阳
程序员
私信 提问
2.2.Can't connect to local MySQL server th...

ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2) 1、先查看 /etc/rc.d/init.d/mysqld status 看看m y s q l 是否已经启动. 另......

boco
2012/11/04
0
0
Can’t connect to local MySQL server through socket

mysql,mysqldump,php连接mysql服务常会提示下面错误: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) 产生此问题的原因一般有......

Mr_sheng
2018/05/04
0
0
ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var mysql 启动不了

ps -A grep -i mysql kill 列出来的进程 service mysql start 我的问题就解决了 ---------------------------------------------- Linux启动mysql 报错: ERROR 2002 (HY000): Can’t conne......

SoneWinstone
2016/11/14
5
0
ERROR 2002 (HY000): Can’t connect to local MySQL s

ps -A | grep -i mysql kill 列出来的进程 service mysql start 我的问题就解决了 ---------------------------------------------- Fedora8启动mysql 报错: ERROR 2002 (HY000): Can’t c......

card123
2015/11/25
36
0
Mysql启动失败Can’t connect to local MySQL server throu

这个错误让我犯难,折腾了好几个小时 网上去搜索,一大片的内容都是这个 http://hi.baidu.com/lewutian/blog/item/a361a59b6b0480bec9eaf4c5.html 可以看出是相互抄袭的结果 引用 启动mysql...

林鼎
2014/02/18
0
0

没有更多内容

加载失败,请刷新页面

加载更多

C 语言 二级指针操作文件 柔性数组使用

#include <stdio.h>#include <stdlib.h>#include <string.h>typedef struct _info* pInfo;struct _info{int line;int len;char data[0];}info;int getFil......

小张525
39分钟前
0
0
中介者模式

https://blog.csdn.net/jason0539/article/details/45216585

南桥北木
40分钟前
0
0
抽离css以及公共js

分离css 分离css:为何要把 CSS 文件分离出来,而不是直接一起打包在 JS 中。最主要的原因是我们希望更好地利用缓存。 extract-text-webpack-plugin > 1. 假设我们原本页面的静态资源都打包成...

莫西摩西
今天
2
0
Jenkins的配置从节点中默认没有Launch agent via Java Web Start,该如何配置使用

Jenkins的配置从节点中默认没有Launch agent via Java Web Start,如下图所示,而这种启动方式在Windows上是最方便的。 如何设置才能让出来呢? 1:打开"系统管理"——"Configure Global Sec...

shzwork
今天
2
0
BAT面试必问HashMap源码分析

HashMap 简介 HashMap 主要用来存放键值对,它基于哈希表的Map接口实现,是常用的Java集合之一。 JDK1.8 之前 HashMap 由 数组+链表 组成的,数组是 HashMap 的主体,链表则是主要为了解决哈...

别打我会飞
今天
18
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部