Linux- 解决Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
2022/5/30 2:19:51
本文主要是介绍Linux- 解决Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1.mysql.sock的作用
连接localhost通常通过一个Unix域套接字文件进行,一般是/tmp/mysql.sock。如果套接字文件被删除了,本地客户就不能连接。这可能发生在你的系统运行一个cron任务删除了/tmp下的临时文件。mysql.sock默认的是在/var/lib/mysql
。
2.解决方式
2.1 方式 ① 重启服务器
如果配置没有问题
如果你因为丢失套接字文件而不能连接,你可以简单地通过重启数据库服务重新创建得到它。因为服务在启动时重新创建它。
2.2 方式 ② TCP/IP链接
如果重启服务器之后还是没有任何变化,可以执行下面的语句。
mysql -uroot -h 127.0.0.1 -p
不出意外可以执行进入,你现在不能用套接字建立连接因为它不见了,所以可以建立一个TCP/IP连接
2.3 方式 ③ 软件接复制到/tmp
寻找mysql.sock文件,然后创建软连接到/tmp
# 查询 find / -name mysql.sock # 创建软链接 ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
2.3 方式 ④ 修改my.cnf文件
/tmp/mysql.sock位置找不到所需要的mysql.sock文件,主要是由于my.cnf文件里对mysql.sock的位置设定导致。如果可以查询到mysql.sock,可以在[mysqld]下面加入mysql.sock的path。
# (my.cnf也可能在其他路径下) vi /etc/my.cnf
[mysqld]下面加入或修改
socket = /var/lib/mysql/mysql.sock
这篇关于Linux- 解决Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-04-26MySQL查出时间比实际晚8小时的解决方案
- 2024-04-01JPA不识别MySQL的枚举类型
- 2024-03-30mysql数据库表卡死解决方法
- 2024-03-15MySQL多数据源笔记5-ShardingJDBC实战
- 2024-03-11natural join mysql
- 2024-03-11关于VS2017,VS2015 中利用 EF使用Mysql 不显示数据源问题解决方案
- 2024-02-26mysql 阿里云xb后缀备份文件恢复-icode9专业技术文章分享
- 2024-02-22docker mysql 5.7
- 2024-02-18从 20 多套 MySQL 到 1 套 TiDB丨骏伯网络综合运营管理平台应用实践
- 2024-02-07mysql 外键索引入门介绍,为什么工作中很少有人使用?