无法通过 ubuntu 14.04 中的套接字 '/var/run/mysqld/mysqld.sock' (2) 连接到本地 MySQL 服务器

Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) in ubuntu 14.04

我已经在我的 Ubuntu 机器上安装了 LAMP。

Apache2 和 PHP5 已经正确安装,当我 运行 apache2 -vphp5 -v 我正在获取它们的安装版本时。

但我不确定如何检查 My-SQL 是否正确安装。

因为当我 运行 mysql -u root -p 命令时,出现以下错误。

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

请帮忙!

您可以尝试先开始 mysql

> ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
> 
> service mysql start or service mysql start

您需要先在您的机器上启动 mysqld 服务。使用以下命令启动 mysqld 服务

service mysqld start

要解决此问题,您需要运行按顺序执行命令

 sudo service mysql stop 
 sudo /etc/init.d/apparmor reload
 sudo service mysql start

之后你可以运行下面的命令去mysql控制台

mysql -u root -p
mysql>

尝试强制重新定义 root 密码:

sudo  service mysql stop

sudo /usr/bin/mysqld_safe --skip-grant-tables &

mysql -h localhost

(现在我们使用的是 mysql,无需用户权限)

> USE mysql

> UPDATE mysql.user
SET authentication_string=PASSWORD('new_password')
WHERE user='root' AND host='localhost';

> quit

sudo mysqladmin shutdown

sudo service mysql start

就这些了... 现在尝试将 mysql 与新密码一起使用,例如:

mysql -uroot -p
Enter password: enter the new_password

它应该有效:)

不确定这是否有帮助,但我 运行 在我的 VPS 上遇到了同样的问题。事实证明,通过每小时备份,我从 space 中得到了 运行。

试试这个:

df -h

如果磁盘使用率为 100%,则服务器无法向磁盘写入任何内容,没有日志,没有临时文件,什么都没有。

我删除了一些旧备份。首先找到它们(运行 在备份文件夹中)

find . -type f -name "backup-2016-01*"

此命令将查找名称以 backup-2016-01...开头的任何文件...

然后删除那些文件:

find . -type f -name "backup-2016-01*" -delete

或者将它们移动到不同的位置。然后再次运行 df -h 以查看是否有更多 space。 它帮助了我。

就我而言,此错误的原因是我的服务器 运行 内存不足。通过 运行

检查是否是这种情况
sudo journalctl -xe

# See if there's message below
Out of memory: Kill process 20967 (mysqld) score 155 o

如果是这样,那么是时候升级您的服务器了!

遇到了同样的问题并做了很多故障排除

最后我通过

解决了这个问题

正在创建 error.log 文件

步骤

在 /etc/var/log/error.log

下创建一个日志文件

使用命令

开始mysql

systemctl start mysql.service

此后mysql启动成功