当前位置: 代码网 > it编程>数据库>Mysql > 解决MySQL启动常见错误:ERROR 2002(HY000) Can‘t connect to local MySQL server through socket‘tmp问题

解决MySQL启动常见错误:ERROR 2002(HY000) Can‘t connect to local MySQL server through socket‘tmp问题

2025年04月07日 Mysql 我要评论
mysql启动常见错误当我们系统环境中的mysql是采用源码安装时,在启动mysql时通常会遇到如下问题:[root@server1 bin]# ./mysql -u root -penter pas

mysql启动常见错误

当我们系统环境中的mysql是采用源码安装时,在启动mysql时通常会遇到如下问题:

[root@server1 bin]# ./mysql -u root -penter password: 

报错

error 2002 (hy000): can’t connect to local mysql server through socket ‘/tmp/mysql.sock’ (2)

报错原因

没有生成mysql的sock链接文件

首先需要明白mysql.sock这个文件的作用:

连接localhost通常通过一个unix域套接字文件进行,一般是/tmp/mysql.sock。

如果套接字文件被删除了,本地客户就不能连接。这可能发生在你的系统运行一个cron任务删除了/tmp下的临时文件

如果你因为丢失 套接字文件 而不能连接,你可以简单地通过重启服务器重新创建得到它。因为服务器在启动时重新创建它。

起初采用方法

1、通过find / -name mysql.sock

2、查询到结果,做一个软链接到/tmp目录下即可解决问题

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

但是经过测试,发现还是不行

然后发现原来/etc/init.d/下没有mysqld服务,可能是之前执行某些任务时,将该服务删除了。

最终解决方案

重新配置mysqld服务。

步骤如下:

1、cd usr/local/mysql/

2、/bin/cp support-files/my-small.cnf  /etc/my.cnf    //建立配置文件

3、useradd -s /sbin/nologin -m mysql     // 创建mysql分组,-m不创建主目录,-s不允许登录

4、chown -r mysql.mysql data   // 改变目录的属主和属组

5、/usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql             //利用mysql的身份去安装mysql数据库并初始化数据库

显示如此,则初始化数据库成功!

6、cp support-files/mysql.server /etc/init.d/mysqld   // 将mysqld服务的启动脚本复制到/etc/init.d目录下

7、chmod +x /etc/init.d/mysqld     // 为目录添加执行权限

8、/etc/init.d/mysqld start             // 启动mysqld的服务

9、/etc/init.d/mysqld status          // 查看mysqld服务的状态

显示starting mysql success! 则启动成功

10、可通过ps -ef | grep mysqld 查看进程是否启动

11、然后启动mysqld服务

./mysql -u root -p

ok!问题解决

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com