文档章节

关于mysql.sock路径的问题

阿dai学长
 阿dai学长
发布于 2017/08/06 23:01
字数 1067
阅读 338
收藏 0

mysql.sock路径问题

今天在LAMP环境使用WordPress搭建博客,在进行数据库的相关配置时遇到了mysql.sock寻址错误的问题,错误提示:“ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)”意思是通过本地/var/lib/mysql/mysql.sock文件无法连接到MySQL服务。为了解决该问题,上网查询资料,所有回答都大同小异,最终自己总结了两种解决办法。

错误提示

[root@adailinux adaiblog.com ]# mysql -uroot -padailinux
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

解决思路

出现该问题后,首先根据错误提示我想到的是查看本地‘/var/lib/mysql/mysql.sock’文件:

[root@adailinux ]# ls /var/lib/mysql/mysql.sock
ls: 无法访问/var/lib/mysql/mysql.sock: 没有那个文件或目录

很显然,该文件不存在,于是想到在安装MySQL的时候自定义过socket文件保存路径,于是查看MySQL的配置文件:

[root@adailinux adaiblog.com]# vim /etc/my.cnf  

[mysqld]
datadir=/data/mysql
socket=/tmp/mysql.sock

根据该信息我检查/tmp/mysql.sock文件是否存在并查看其权限(排除因为权限问题所引起的该问题):

[root@adailinux adaiblog.com]# ls -l /tmp/mysql.sock 
srwxrwxrwx 1 mysql mysql 0 8月   6 20:57 /tmp/mysql.sock

如上所示:该文件为"777"权限,所以排除了因为文件权限导致该问题的可能。
综合上面的排查,大致可以确定导致该错误的原因是MySQL寻址没寻到/tmp/mysql.sock该文件,那么该如何解决该问题呢?

解决办法1:

既然是寻址问题,肯定是因为寻址路径原因, 再看错误提示“/var/lib/mysql/mysql.sock”,该路径就是在更改socket路径前的默认路径,文件不存在,说明该地址无效,那么只么MySQL能找道mysql.sock文件就可以啊,于是想到创建软链接:

[root@adailinux adaiblog.com]# ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock

创建完成后重启MySQL服务,再次执行mysql命令,问题解决。

解决办法2:

通过上述分析可以确定MySQL配置文件中所指定的socket路径没有生效,自我感觉这才是问题的本质原因,于是查找资料,进行如下操作:

[root@adailinux adaiblog.com]# vim /etc/my.cnf

[mysqld]
datadir=/data/mysql
socket=/tmp/mysql.sock

[client]
socket=/tmp/mysql.sock

编辑MySQL配置文件后添加如上内容,重启MySQL服务,问题解决!


sever、client

至于mysql配置文件中[client]模块是什么,查到如下内容:

mysql-server 与 mysql-client是DBMS的两个面向不同操作对象的工具。
server是DBMS面向物理层次,包含存储数据的一系列机制、处理方法的集成;
client是DBMS面向用户,提供一系列工具为用户所用,这些工具包括通常写的sql在内都要通过server的编译才能操作物理数据。

客户--client--server物理数据。

服务器--mysql-server是服务端。

前者是mysql核心程序,生成管理数据库实例,数据库实例任务调度线程之类,并提供相关接口供不同客户端调用,后者是操作数据库实例的工具。
操作mysql实例的客户端有很多,mysql-client只是其中一种,包括mysql,mysqldump,mysqlslap这些进行访问、备份、压力测试的工具。
mysql-server是服务端,也就是说,你服务端没安装,客户端没对象去操作,就好比,你买了个西瓜刀,但是却没买西瓜……切西瓜有很多工具,西瓜刀只是其中一种。
介绍几个主流mysql图形化客户端;navicat、phpmyadmin。

该部分内容小白并没有搞很明白,希网明白该部分知识的道友跟帖解释一下,尽量使用通俗易懂的语言!!!

© 著作权归作者所有

共有 人打赏支持
上一篇: Docker&Container
阿dai学长
粉丝 71
博文 238
码字总数 315900
作品 0
海淀
运维
私信 提问
Can't connect to local MySQL server through socket

我通过vim /etc/my.cnf,修改了[mysqld]选项下面的socket的值 socket=/var/lib/mysql/mysql.sock 接下来,是mysql启动不了,同样,vim /etc/my.cnf,添加了如下脚本: [mysql] socket=/var/li...

drewin
2014/02/21
0
0
找不到mysql.sock的出现原因及解决方案和mysql 默认mysql.sock位置默认问题探讨

背景:(1)偶尔会出现mysql的server和mysql的client默认的socke文件不在一个地方,我们用mysql时会出现一个找不到mysql.sock的情况。 (2)因非正常关机出现:/tmp/mysql.sock 不见了,找不...

Lydia_92
2015/09/10
0
0
mysql连接报错 ERROR 2002 (HY000): Can't connect to local MySQL server through socket

安装完mysql连接报错: [root@localhost app]# mysqlERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)[root@localhost app]# mys......

赤练挚爱
2016/10/12
0
0
python MySQLdb连接mysql失败

Traceback (most recent call last): File "./test_db.py", line 12, in < module> db='mysite') File "build/bdist.linux-x8664/egg/MySQLdb/init_.py", line 81, in Connect File "build/b......

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

欢迎关注大数据和人工智能技术文章发布的微信公众号:清研学堂,在这里你可以学到夜白(作者笔名)精心整理的笔记,让我们每天进步一点点,让优秀成为一种习惯! 有时候,当我们使用“mysql...

李金泽
2018/03/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

C++ vector和list的区别

1.vector数据结构 vector和数组类似,拥有一段连续的内存空间,并且起始地址不变。 因此能高效的进行随机存取,时间复杂度为o(1); 但因为内存空间是连续的,所以在进行插入和删除操作时,会造...

shzwork
今天
3
0
Spring之invokeBeanFactoryPostProcessors详解

Spring的refresh的invokeBeanFactoryPostProcessors,就是调用所有注册的、原始的BeanFactoryPostProcessor。 相关源码 public static void invokeBeanFactoryPostProcessors(Configu......

cregu
昨天
4
0
ibmcom/db2express-c_docker官方使用文档

(DEPRECIATED) Please check DB2 Developer-C Edition for the replacement. What is IBM DB2 Express-C ? ``IBM DB2 Express-C``` is the no-charge community edition of DB2 server, a si......

BG2KNT
昨天
3
0
Ubuntu 18.04.2 LTS nvidia-docker2 : 依赖: docker-ce (= 5:18.09.0~3-0~ubuntu-bionic)

平台:Ubuntu 18.04.2 LTS nvidia-docker2 版本:2.0.3 错误描述:在安装nvidia-docker2的时候报dpkg依赖错误 nvidia-docker2 : 依赖: docker-ce (= 5:18.09.0~3-0~ubuntu-bionic) 先看一下依......

Pulsar-V
昨天
4
0
学习笔记1-goland结构体(struct)

写在前面:若有侵权,请发邮件by.su@qq.com告知。 转载者告知:如果本文被转载,但凡涉及到侵权相关事宜,转载者需负责。请知悉! 本文永久更新地址:https://my.oschina.net/bysu/blog/3036...

不最醉不龟归
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部