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

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

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


当前回答

请检查是否有其他mysql服务正在运行。

其他回答

这可能是一个愚蠢的建议,但请100%确保您的DB仍然托管在localhost。例如,如果网络管理员选择(或更改为)Amazon DB主机,您将需要该主机名!

我的问题是,我成功安装mysql,它工作得很好。

但是有一天,同样的错误发生了。

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

没有mysql。Sock文件存在。

这个解决方案解决了我的问题,mysql又开始运行了:

以root用户登录:

sudo su -

Run:

systemctl stop mysqld.service
systemctl start mysqld.service
systemctl enable mysqld.service

以root身份测试:

mysql -u root -p

Mysql现在应该启动并运行了。

我希望这也能帮助到其他人。

Navicat15:无法通过套接字/var/lib/ MySQL / MySQL .sock连接到本地MySQL服务器

Ubuntu16.04版本,如果mysql服务器正在运行,在/etc/mysql中配置如下:

[mysqld] socket = /var/run/mysqld/mysqld.sock

那么Navicat15 localhost的默认设置是: " / var / lib / mysql / mysql.sock”

你可以像这样提前编辑:

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

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。我意识到我从来没有设置交换文件…

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

以下是对我有效的方法:

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