错误信息:

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

出现问题原因:

有可能是 my.cnf 配置文件中设置了 [mysqld] 的参数 socket ,而没有设置[client]的参数socket

mysql.sock 文件有什么用:

mysql 支持 socket 和 TCP/IP 连接。那么 mysql.sock 这个文件有什么用呢?连接localhost通常通过一个Unix域套接字文件进行,一般是/tmp/mysql.sock。如果套接字文件被删除了,本地客户就不能连接。/tmp 文件夹属于临时文件,随时可能被删除。

1.TCP 连接(如果报错 /tmp/mysql.sock,你可以尝试这种方式连接)

mysql -uroot -h 127.0.0.1 -p

2.socket 连接

mysql -uroot -p

解决方式:

添加 [client] 配置项,如下所示

配置前:(配置 [client] 前,会报错'/tmp/mysql.sock' (2))

[mysqld]
datadir=/usr/local/mysql/data
basedir=/usr/local/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

配置后:(配置 [client] 后,重启 mysql服务)

[mysqld]
datadir=/usr/local/mysql/data
basedir=/usr/local/mysql
socket=/var/lib/mysql/mysql.sock(跟这个socket路径一样)
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

[client]
port=3306
socket=/var/lib/mysql/mysql.sock

end,本文结束,希望对大家有所帮助!

更多相关文章

  1. localStorage改变背景颜色和字体大小
  2. 解决“Connection to https://dl-ssl.google.com refu...
  3. Android(安卓)bluetooth介绍(四): a2dp connect流程分析
  4. android中HttpURLConnection调用getResponseCode()时崩溃 解决方
  5. Android(安卓)LocalSocket / LocalServerSocket sample code
  6. Android:HttpURLConnection使用,Tomcat的Servlet
  7. Android(安卓)webview Not allowed to load local resource异常
  8. Android(安卓)[error cannot connect to daemon]
  9. android播放器(music player)源码分析1-Service,Binder,ServiceConne

随机推荐

  1. 自定义android RadioButton样式
  2. Android 检测更新库
  3. android noTouch 事件
  4. 使用SDK Manager更新时出现问题
  5. Android(安卓)仿今日头条频道管理(上)(GridV
  6. 杂谈:后台进程对Android性能的影响
  7. Android手机震动抖动效果的实现
  8. 集成Android免费语音合成功能(在线、离线
  9. android 资料文档共享
  10. Android普通对话框原理