5

我在 Amazon EC2 上打开了我的应用程序(在 Rails 中)并收到了一个错误 - 因此我检查了日志并且有以下内容:

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

10 小时前一切正常。有什么问题?流量大吗?该应用程序在微型实例上运行。

如何解决此问题以及将来如何避免它?

非常感谢

编辑:

sudo find / -type s
---
/tmp/.sock
/dev/log
/var/lib/apt-xapian-index/update-socket
/run/mysqld/mysqld.sock
/run/acpid.socket
/run/dbus/system_bus_socket
/run/udev/control
find: `/proc/4739/task/4739/fd/5': No such file or directory
find: `/proc/4739/task/4739/fdinfo/5': No such file or directory
find: `/proc/4739/fd/5': No such file or directory
find: `/proc/4739/fdinfo/5': No such file or directory
4

6 回答 6

8

在我的情况下,服务器显然在某个时候重新启动,并且 mysql 在它启动时没有启动。我只是输入了启动命令,它就起作用了:

sudo service mysqld start
于 2014-03-13T02:55:56.030 回答
0

从这里交叉发布我的回复。

我在 ec2 实例上遇到了同样的问题。这些说明对我来说非常有效:


Redhat Enterprise Linux - RHEL 5 / 6 MySQL 安装

以 root 用户身份键入以下命令:

yum install mysql-server mysql

Redhat Enterprise Linux - RHEL 4/3 MySQL 安装

以 root 用户身份键入以下命令:

up2date mysql-server mysql

启动 MySQL 服务

要启动 mysql 服务器,请键入以下命令:

chkconfig mysqld on
/etc/init.d/mysqld start

设置mysql root密码

键入以下命令为 root 用户设置密码:

mysqladmin -u root password NEWPASSWORD

测试mysql连接

键入以下命令以连接到 MySQL 服务器:

$ mysql -u root -p
于 2014-02-06T03:42:56.540 回答
0

找到您的locate my.cnf文件,请参见那里的行,因为socket = ../../mysql.sock 您需要将路径替换为您的路径

套接字 = /run/mysqld/mysqld.sock

如果路径匹配,请告诉我

于 2013-10-29T09:31:07.277 回答
0

mysql-server默认情况下未安装在 Amazon Linux AMI 上。使用这些命令来安装它:

$ sudo yum install mysql-server
$ sudo chkconfig mysqld on
$ sudo /etc/init.d/mysqld start
$ mysqladmin -u root password NEWPASSWORD
$ mysql -u root -p
于 2014-09-29T22:42:48.373 回答
0

就我而言,我使用了以下命令:

project_folder > mysql.server start 

系统返回成功消息后,它工作正常。

于 2014-06-13T18:36:05.577 回答
0

要解决此错误,首先找到您的套接字文件,在终端中运行以下命令

mysqladmin variables | grep socket

对我来说,这给出了:

| socket              | /var/run/mysqld/mysqld.sock

然后,在 Rails 应用程序中添加一行:config/database.yml:

development:
adapter: mysql2
host: localhost
username: root
password: xxxx
database: xxxx
socket: /var/run/mysqld/mysqld.sock

这将解决这个问题。

于 2015-09-29T06:50:17.810 回答