博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
error: 'Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)'
阅读量:6228 次
发布时间:2019-06-21

本文共 1947 字,大约阅读时间需要 6 分钟。

 1、今天安装了一个mysql 5.7 的二进制安装方式,在连接mysql数据库的时候报了如下错误:

[root@iccsdb01 mysql]# mysql 

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

2、根据提示应该是sock文件不在,通过查看进程配置,发现如下

[root@iccsdb01 bin]# ps -ef | grep mysql

root      9196  3125  0 11:18 pts/2    00:00:00 tail -f mysqld.log

root     11404     1  0 14:13 pts/1    00:00:00 /bin/sh /home/mysql/sysinfo/mysql/bin/mysqld_safe --datadir=/my_data/sysinfo --pid-file=/my_data/sysinfo/iccsdb01.pid

mysql    11616 11404  0 14:13 pts/1    00:00:00 /home/mysql/sysinfo/mysql/bin/mysqld --basedir=/home/mysql/sysinfo/mysql --datadir=/my_data/sysinfo --plugin-dir=/home/mysql/sysinfo/mysql/lib/plugin --user=mysql --log-error=/var/log/mysqld.log --pid-file=/my_data/sysinfo/iccsdb01.pid --socket=/var/lib/mysql/mysql.sock

由上可知mysql 默认的mysql.sock 是在/var/lib/mysql/mysql.sock,

但Linux系统总是去/tmp/mysql.sock查找,所以会报错

解决方法一

1、创建连接文件到指定目录上

ln -s /var/lib/mysql/mysql.sock  /tmp/mysql.sock

2、测试连接成功登陆

[root@iccsdb01 /]# mysql -u root -p

Enter password: 

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 5

Server version: 5.7.18 MySQL Community Server (GPL)

Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 

解决方法二

  修改“/etc/my.cnf”配置文件,在配置文件中添加“[client]”选项和“[mysql]”选项,并使用这两个选项下的“socket”参数值,与“[mysqld]”选项下的“socket”参数值,指向的socket文件路径完全一致。如下: 

1
2
3
4
5
6
7
8
9
10
11
12
[mysqld]
datadir
=
/
my_data
/
sysinfo
socket
=
/
var
/
lib
/
mysql
/
mysql.sock
...省略n行...
  
[client]
default
-
character
-
set
=
utf8
socket
=
/
var
/
lib
/
mysql
/
mysql.sock
  
[mysql]
default
-
character
-
set
=
utf8
socket
=
/
var
/
lib
/
mysql
/
mysql.sock

修改完后,重启mysqld服务,即可解决此问题。

本文转自 yuri_cto 51CTO博客,原文链接:http://blog.51cto.com/laobaiv1/1919251,如需转载请自行联系原作者

你可能感兴趣的文章
[转]Android的userlogin登录
查看>>
接口里面的静态方法--痒啊
查看>>
电子商务网站数据分析常用指标(转)
查看>>
windows下用go语言写程序
查看>>
【转】iOS Programming – 触摸事件处理
查看>>
Handler的介绍及实例
查看>>
Vitamio FAQ(2012-11-20 )
查看>>
程序集引用里面的“Culture=neutral”是什么意思?
查看>>
批处理学习笔记2 - 编写批处理的for循环
查看>>
【web前端面试题整理07】我不理解表现与数据分离。。。
查看>>
C++一些注意点之转换操作符
查看>>
以JTextPanel为例Swing的鼠标事件详解
查看>>
【转】python中的lambda函数
查看>>
HashSet中实现不插入重复的元素
查看>>
atitit.破解 拦截 绕过 网站 手机 短信 验证码 之自动获取手机短信方式 attilax 总结...
查看>>
mongodb用户授权
查看>>
操作系统学习基本概念汇总
查看>>
RESTful架构详解
查看>>
linux环境下安装sphinx中文支持分词搜索(coreseek+mmseg)
查看>>
用户IP地址的三个属性的区别(HTTP_X_FORWARDED_FOR,HTTP_VIA,REM_addr
查看>>