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

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

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


当前回答

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

find /var/ -name mysql.sock

检查/var/中的可用空间

df

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

rm /var/cache/*

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

其他回答

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

如果你的mysql之前是工作的,突然停止了,就“重启”服务器。

在我的CentOS vps上遇到了这个问题->

不断得到

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

尝试了所有的技术,最终重新启动服务器修复了问题->

立即关闭-r

希望这能有所帮助!!

我使用MyXQL访问Elixir中的数据库。我的实际错误是使用/tmp/mysql。当/etc/my.conf使用/var/lib/mysql/mysql.sock时。

我的解决方案是在Elixir设置中设置一个环境变量: 出口MYSQL_UNIX_PORT = / var / lib / mysql / mysql。sock,这样MyXQL就不会使用它的默认位置。

这种解决方案的原则是,您可以将MyXQL重定向到另一个位置,以避免这种类型的问题。

如果磁盘空间快用完,这就是一个问题。 解决方案是从HDD中释放一些空间。

请阅读更多内容了解解释:

如果你在LINUX下运行MySQL,用命令disk free检查硬盘的空闲空间:

 df 

如果你得到这样的东西:

Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda2              5162828   4902260         0 100% /
udev                    156676        84    156592   1% /dev
/dev/sda3              3107124     70844   2878444   3% /home

这就是问题所在,现在你有解决方案了!

因为mysql。Sock想要创建在mysql文件夹,几乎总是在根文件夹下,不能实现,因为缺乏空间。

如果你周期性地在mysql目录下输入ls命令(在openSUSE 11.1是在/var/lib/mysql),你会得到这样的东西:

hostname:/var/lib/mysql #
.protected  IT     files        ibdata1             mysqld.log  systemtemp
.tmp        NEWS   greekDB      mysql               mysqld.pid  test
ARXEIO      TEMP1  ib_logfile0  mysql.sock          polis
DATING      deisi  ib_logfile1  mysql_upgrade_info  restore

mysql。Sock文件经常出现和消失(你必须尝试用ls分配一个mysql实例。文件夹上的袜子文件)。

这是由于磁盘空间不足造成的。

我希望我能帮助一些人!!!! 谢谢!

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

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

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