1

好吧,我有Manjaro/Linux 17.0,我尝试安装 MariaDB,但总是遇到同样的错误:

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/run/mysqld/mysqld.sock' (2 "No such file or directory")

我不知道该怎么做,我在成千上万的论坛中搜索过,我无法使用systemctl启动 mariadb 的守护进程,我试图在/run/mysqld/mysqld.sock进行触摸,但它拒绝了我的连接当我尝试启动 mariadb 并尝试卸载/重新安装 MariaDB 时,但它是同一件事:(

在我的所有目录中,我都找不到mysql.sock或类似的。

请帮帮我!

4

2 回答 2

2

我遇到了同样的问题,对我有用的解决方案是https://serverfault.com/a/813123,我刚刚清理了:

sudo rm /var/lib/mysql/*

然后初始化数据库:

mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql
于 2018-10-02T08:21:36.900 回答
0

似乎服务器用作套接字的内容与客户端认为应该是套接字的内容之间可能存在差异。

您可以检查进程列表 ( ps -ef | grep mysql) 并查看服务器是否使用与您预期不同的套接字设置运行。(寻找--socket=。)

编辑您的/etc/my.cnf,查找或创建一个[client-server]部分,并设置socket为有意义的文件。它应该位于用户有权访问的目录中。默认设置是socket=/tmp/mysql.sock,所以这应该是一个安全的选择。然后删除目录中其他socket地方的任何其他设置/etc/my.cnf或文件/etc/my.cnf.d/。然后重新启动,它应该有望工作。

还要检查您是否有个人配置文件~/.my.cnf,在其中查找套接字设置,如果有,请将其删除。

有关参考,请参阅 MariaDB KB 中的套接字条目。此外,请查看 MariaDB 配置文件可以存储在此处的完整位置列表。

于 2018-01-09T23:33:45.620 回答