mysql连接不上,mysqld.sock丢失

当试图在本地连接MySQL服务时,如果遇到因mysqld.sock丢失导致的连接问题,可以通过指定连接协议解决。可以尝试使用`mysql --protocol=TCP`命令以TCP方式连接,或者检查mysqld.sock文件的位置并修复。如果MySQL服务器因sock文件丢失无法启动,需要解决该问题以恢复服务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如果你指定localhost 作为一个主机名【也就是你在本机上连接本季的mysql服务】, mysqladmin 默认使用Unix套接字文件连接,而不是TCP/IP。

从MySQL 4.1 开始,通过--protocol= TCP |SOCKET | PIPE | MEMORY}选项,你可以显示地指定连接协议,举例如下:

socket 连接:
[zzz@zzz mysql]$ mysql -uroot
ERROR 2002 (HY000): Can't connect to local MySQL server through socket
'/home/zzx/mysql/mysql.sock' (2)
tcp 连接:
[zzz@zzz mysql]$ mysql --protocol=TCP -uroot -p -P3307 -hlocalhost
Enter password:
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 73 to server version: 5.0.15-standard
Type 'help;' or 'h' for help. Type 'c' to clear the buffer.
mysql>
==========》如果mysql服务器还没启动,由于mysqld.sock丢失启动不了,怎么办《===============

==========》下面是一个由于更改主机名导致的找不到sock.文件《===============

linux系统一次不正常关机后,连接mysql的时候系统提示不能通过/tmp/mysql.sock文件进行连接,或者非正确关闭时,导致mysql.sock文件再次丢失,当你在次启动时出现如下错误,connect mysqld faild ,/tmp/mysql.sock can't find
mysql.sock的丢失主要是因为更改了机器名,在没有正确关闭mysqld的情况下,去执行mysqld_safe,这样他就删除已经运行的mysql.sock了。正常情况下,mysqld_safe 应该告诉我们是已经有Mysqld运行了,而上边并没有这样提示,主要是更改机器名导致mysqld_safe判断是否已经运行,去找的是newhostname.pid文件,但已经运行的mysqld生成的是oldhostname.pid, 肯定找不到newhostname.pid,所以mysqld_safe收拾一下(清理了mysql.sock),然后去重启,但是ibdata需要lock,它lock不了,还是起不了,但是老的mysql.sock就消失。
解决办法,实时上,在/etc/init.d 下有个连接启动脚本 mysqld ,我们启动时可以直接用它 service mysqld start |stop

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值