Can't find mysqld.sock: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.s

Posted

技术标签:

【中文标题】Can\'t find mysqld.sock: Can\'t connect to local MySQL server through socket \'/var/run/mysqld/mysqld.sock\' (2 "No such file or directory")【英文标题】:Can't find mysqld.sock: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2 "No such file or directory")Can't find mysqld.sock: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2 "No such file or directory") 【发布时间】:2017-12-29 05:44:51 【问题描述】:

我刚刚注册到 Stack Overflow,因为从 2 天前开始我真的无法摆脱这个问题。我使用 Xampp。

所以,我正在关注这个 Laravel tutorial,当我从终端输入项目目录或其他每个目录 mysqlmysql -uroot -p 它给了我这个错误:

无法通过套接字 '/var/run/mysqld/mysqld.sock' 连接到本地 MySQL 服务器(2“没有这样的文件或目录”)

我有我从https://mariadb.org/ 安装的 mariadb

我的操作系统是 Ubuntu 16.04 LTS(这里我输入了 lsb_release -a ) 没有可用的 LSB 模块。 经销商编号:Ubuntu 说明:Ubuntu 16.04.2 LTS 发布时间:16.04 代号:xenial

通过 cd /var/run/ 然后 ll 我发现目录 /var/run/mysqld 不存在, 和 mysql.sock 文件都没有。

所以我用谷歌搜索了一下,发现 this 在那里他们谈论 /etc/my.cnf 文件,但我通过执行一些 cd 命令发现甚至没有这个文件。 (但我刚刚注意到我有一个 /etc/mysql/my.cnf/etc/mysql/my.cnf.fallback 文件)

还有什么?哦是的。卸载 mariadb 并安装 mysql 并不能解决问题,因为我的 dpkg 包有问题。

我也试过很多次安装和卸载xamp、laravel dir、mysql、mariadb...

我真的不知道该怎么办。 :(((

【问题讨论】:

/var/log/mysql/error.log 或 /var/log/mariadb/error.log 中有什么内容? @ElvisPlesky 我不知道从哪里开始,有成千上万的原始数据。也许这个(?):由于以下 SSL 库错误而无法设置 SSL:SSL 上下文在没有证书和私钥的情况下不可用 [注意] 服务器主机名(绑定地址):'127.0.0.1';端口:3306 [注意] - '127.0.0.1' 解析为 '127.0.0.1';在 IP 上创建的服务器套接字:“127.0.0.1”。无法启动服务器:在 TCP/IP 端口上绑定:地址已在使用中您是否已经在端口:3306 上运行了另一个 mysqld 服务器?中止 即使我今天也输入了 mysql,它似乎只在 7 月 23 日之前给出错误 这就是原因。其他东西在端口 3306 上侦听。使用 netstat -ntpl | 查找内容grep 3306 alessio@E1-510:/opt/lampp$ sudo netstat -ntpl | grep 3306 [sudo] 密码 di alessio: tcp6 0 0 :::3306 :::* LISTEN 17999/mysqld 我认为这不是问题所在。但是我仍然无法理解为什么我会错过这两个文件( /etc/my.cnf/var/run/mysqld/mysqld.sock ),即使我想从我自己创造它们,我不知道我应该在它们里面写什么。 【参考方案1】:

我明白了! 因此,首先我使用以下命令删除了 MariaDB 的所有痕迹:

sudo service mysql stop
sudo apt-get --purge remove "mysql*
sudo rm -rf /etc/mysql/ 

然后我重新安装了它:

apt-get update
apt-get upgrade
apt-get install mariadb-server

现在 mariaDB 可以工作了。但是我仍然对xampp 有问题,因为他的Mysql 数据库与我的mariaDB 有冲突。于是我把 Xampp Mysql 端口从 3306 改成了 3308,一切正常。

【讨论】:

以上是关于Can't find mysqld.sock: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.s的主要内容,如果未能解决你的问题,请参考以下文章

测试连接时出现PopSQL错误:Can't connect to local MySQL server through socket '/run/mysqld/mysqld.sock' (2)

2002, "Can't connect to local MySQL server through socket '/run/mysqld/mysqld.sock' (2)" i

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

OperationalError: (2002, "Can't connect to local MySQL server through socket '/var/run/mysqld/m

Ubuntu 17.10 - ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysq

docker-compose run mysql: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/v