当我尝试连接mysql时,我得到以下错误:

无法通过套接字/var/lib/ MySQL / MySQL连接到本地MySQL服务器。袜子”(2)

有解决这个错误的方法吗?背后的原因可能是什么?


当前回答

确保您的mysql服务正在运行

service mysqld start

然后,试试下面的方法:

(如果你没有设置mysql密码)

mysql -u root

如果您已经设置了密码

mysql -u root -p

其他回答

我也有同样的问题,当我研究日志时

Sudo tail -f /var/log/mysqld.log

InnoDB: mmap(137363456 bytes) failed; errno 12
200610  6:27:27 InnoDB: Completed initialization of buffer pool
200610  6:27:27 InnoDB: Fatal error: cannot allocate memory for the buffer pool
200610  6:27:27 [ERROR] Plugin 'InnoDB' init function returned error.
200610  6:27:27 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
200610  6:27:27 [ERROR] Unknown/unsupported storage engine: InnoDB
200610  6:27:27 [ERROR] Aborting

很明显没有足够的内存来启动InnoDB。我意识到我从来没有设置交换文件…

我按照这个设置交换文件,它工作。

先尝试2、3种解决方案。如果您无法找到/var/lib/mysql/mysql.sock .sock,则仍然弹出错误提示

find /var/ -name mysql.sock

检查/var/中的可用空间

df

如果目录已满,请删除一些无用的文件/目录

rm /var/cache/*

也许你的问题现在可以解决了。

MySQL服务器没有运行,或者那不是它的套接字文件的位置(检查my.cnf)。

请确保你已经正确安装了MySQL服务器,我遇到过这个错误很多次,我认为从套接字调试很复杂,我的意思是重新安装它可能更容易。

如果你使用的是CentOS 7,下面是正确的安装方法:

首先,添加mysql社区源代码 Yum install http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm

然后你可以通过yum install mysql-community-server安装它

用systemctl启动它:systemctl Start mysqld

以下是对我有效的方法:

ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
service mysqld restart