解决ERROR 2002 (HY000) Can‘t connect to local MySQL server through socket ‘tmpmysql.sock

今天想登陆下mysql查询一下数据,结果发现客户端连接不上,报错提示:2003-Can’t connect to MySQL server on local(10061 “Unkown error”),然后进入到linux 里的mysql,一样连接不上, 报错提示:解决ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’。

然后也在网上查询了一些方法:这里给各位汇总一下(少,请莫见怪)

ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var mysql 启动不了 - adolfmc - 博客园

Can’t connect to local MySQL server through socket的解决方法 - thebestrule - 博客园

mysql Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ - THISISPAN - 博客园

解决Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’错误_似水流年-CSDN博客

解决数据库Can’t connect to MySQL server on ‘localhost’ (10061)的问题_我的光荣的博客-CSDN博客

解决can’t connect to MySQL server on ‘localhost’(10061)问题_sanqima的专栏-CSDN博客

Can’t connect to MySQL server on ‘localhost’ (10061) - Stack Overflow

然鹅,这些都不适合我,我注意到其中有个说,报这样的错“Can’t connect to local MySQL server through socket”,意味着socket这个文件不存在,但是我的目录下是的确存在的(日期是5月31号)

所以我索性把这个文件删掉, 再重新建一个相同名字的文件。

修改时间是今天拉,也就是7月20号。然后输入命令,尝试登陆本机mysql: (发现已经没有再报错了)

$ ./bin/mysql --socket=~/local/mysql/mysql_3308.sock -uroot password *****

./bin/mysql  Ver 14.14 Distrib 5.6.40, for Linux (x86_64) using  EditLine wrapper
Copyright (c) 2000, 2018, 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.

Usage: ./bin/mysql [OPTIONS] [database]
  -?, --help          Display this help and exit.
  -I, --help          Synonym for -?
  --auto-rehash       Enable automatic rehashing. One doesn't need to use
                      'rehash' to get table and field completion, but startup
                      and reconnecting may take a longer time. Disable with
                      --disable-auto-rehash.
                      (Defaults to on; use --skip-auto-rehash to disable.)

现在开启mysql服务:

$ nohup ./bin/mysqld_safe --defaults-file=~/local/mysql/my.cnf &
[1] 10449
nohup: 忽略输入并把输出追加到"nohup.out"

$ ps
  PID TTY          TIME CMD
10449 pts/13   00:00:00 mysqld_safe
10630 pts/13   00:00:00 mysqld
10909 pts/13   00:00:00 ps
32009 pts/13   00:00:00 bash

$ mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or g.
Your MySQL connection id is 3
Server version: 5.6.40-log Source distribution

Copyright (c) 2000, 2018, 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> 

再登陆就没有问题了。

---------- 如果这篇文章对您有帮助,请您随手点个赞,谢谢啦~~~~ ---------

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
根据提供的引用内容,出现"ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (111)"错误通常是由于MySQL服务器无法通过指定的套接字连接到本地MySQL服务器引起的。这可能是由于以下原因导致的: 1. MySQL服务器未启动:请确保MySQL服务器已经启动。可以使用以下命令检查MySQL服务器的运行状态: ```shell service mysql status ``` 2. MySQL服务器套接字文件路径不正确:请确保MySQL服务器套接字文件的路径与配置文件中的路径一致。可以使用以下命令查看MySQL服务器套接字文件的路径: ```shell grep "socket" /etc/mysql/my.cnf ``` 3. MySQL服务器套接字文件权限问题:请确保MySQL服务器套接字文件的权限正确。可以使用以下命令更改套接字文件的权限: ```shell sudo chmod 777 /tmp/mysql.sock ``` 4. MySQL服务器配置文件错误:请检查MySQL服务器的配置文件(通常是/etc/mysql/my.cnf)是否正确配置了套接字文件路径。可以使用以下命令编辑配置文件: ```shell sudo nano /etc/mysql/my.cnf ``` 然后找到并修改以下行: ```shell socket = /tmp/mysql.sock ``` 5. MySQL服务器端口被占用:请确保MySQL服务器所使用的端口没有被其他进程占用。可以使用以下命令查看端口占用情况: ```shell sudo netstat -tlnp | grep mysql ``` 如果以上方法都无法解决问题,可能需要重新安装MySQL服务器或者联系系统管理员进行进一步的故障排除。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值