linux下mysql ERROR 2002 (HY000)错误解决方法

本人用的的deepin系统 (linux不是windwos哦)
昨天关机的时候报了遗传错误,就预感可能某个程序会出问题,果然,今天来了mysql启动不了了。
用mysql -u root 链接数据库报错

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

到了/var/run/mysqld下查看果然没有mysqld.sock。
于是去/var/log/mysql下看了error.log,日志里发现了这样的错误

[ERROR] Plugin 'InnoDB' init function returned error.
[ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.

从网上查资料,发现需要删除几个库文件。到/var/lib/mysql下发现有ib_logfile0,ib_logfile1。
果断删除

sudo rm -rf /var/lib/mysql/ib_logfile*

重新启动mysql成功。
发现一个怪问题,我使用

systemctl start mysql.service

没有启动起来。但是使用

/etc/init.d/mysql start

却成功了。
又遇到问题的朋友可以参考我的方法,但是文件路径不一定是这样的,因为安装的时候我是用apt-get安装所以,mysql的文件分布在系统的各个目录下,如果你是自己编译安装,你的ib_logfile文件可能会在mysq’l的目录下。

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
您好!您在Linux上遇到的问题是由于无法通过套接字连接到本地MySQL服务器引起的。出现此错误可能有几个原因: 1. MySQL服务器未运行:请确保MySQL服务器正在运行。您可以使用以下命令检查MySQL服务的状态: ``` systemctl status mysql ``` 如果MySQL未运行,您可以使用以下命令启动它: ``` systemctl start mysql ``` 2. MySQL套接字文件路径不正确:默认情况下,MySQL套接字文件位于`/tmp/mysql.sock`。但是,有时套接字文件的路径可能已更改。您可以尝试以下解决方法之一: - 在MySQL配置文件中指定正确的套接字路径:编辑MySQL配置文件(通常位于`/etc/mysql/my.cnf`或`/etc/my.cnf`),找到`socket`行并确保其值与实际套接字文件的位置匹配。然后重新启动MySQL服务。 - 使用`-S`选项连接到正确的套接字文件:在连接MySQL时,使用`-S`选项指定正确的套接字文件路径。例如: ``` mysql -S /var/run/mysqld/mysqld.sock -u your_username -p ``` 3. MySQL服务器配置问题:如果上述解决方法无效,可能需要检查MySQL服务器的配置。确保MySQL服务器监听正确的套接字文件并允许本地连接。您可以检查MySQL配置文件中的以下设置: ``` bind-address = 127.0.0.1 socket = /tmp/mysql.sock ``` 如果这些设置不正确,请进行相应更改并重新启动MySQL服务。 希望这些解决方法能帮助您解决问题!如果您有任何其他问题,请随时提问。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值