Amazon ec2 linux实例mysql未连接
Posted
技术标签:
【中文标题】Amazon ec2 linux实例mysql未连接【英文标题】:Amazon ec2 linux instance mysql not connecting 【发布时间】:2014-09-22 06:35:19 【问题描述】:大家好,我正在亚马逊 ec2 linus 免费套餐实例中运行我的 magento 站点。
我在几分钟前随机停止工作后启动 mysql 时遇到问题。我在尝试连接时收到此错误:
SQLSTATE[HY000] [2003] 无法连接到 '127.0.0.1' (111) 上的 MySQL 服务器
所以我尝试重新启动 MySQL(这对我以前有用),我得到了这个:
停止mysqld:[确定] MySQL 守护程序无法启动。 启动 mysqld:[失败]
这是我的mysql错误日志
140707 15:04:09 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
140707 15:04:10 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
140707 15:04:10 [Note] Plugin 'FEDERATED' is disabled.
140707 15:04:10 InnoDB: The InnoDB memory heap is disabled
140707 15:04:10 InnoDB: Mutexes and rw_locks use GCC atomic builtins
140707 15:04:10 InnoDB: Compressed tables use zlib 1.2.7
140707 15:04:10 InnoDB: Using Linux native AIO
140707 15:04:10 InnoDB: Initializing buffer pool, size = 128.0M
140707 15:04:10 InnoDB: Completed initialization of buffer pool
140707 15:04:10 InnoDB: highest supported file format is Barracuda.
140707 15:04:10 InnoDB: Waiting for the background threads to start
140707 15:04:11 InnoDB: 5.5.38 started; log sequence number 14130260
140707 15:04:11 [Note] Server hostname (bind-address): '0.0.0.0'; port: 3306
140707 15:04:11 [Note] - '0.0.0.0' resolves to '0.0.0.0';
140707 15:04:11 [Note] Server socket created on IP: '0.0.0.0'.
140707 15:04:11 [Note] Event Scheduler: Loaded 0 events
140707 15:04:11 [Note] /usr/libexec/mysqld: ready for connections.
Version: '5.5.38' socket: '/var/lib/mysql/mysql.sock' port: 3306 MySQL Community Server (GPL)
140707 18:32:03 mysqld_safe Number of processes running now: 0
140707 18:32:03 mysqld_safe mysqld restarted
140707 18:32:04 [Note] Plugin 'FEDERATED' is disabled.
140707 18:32:05 InnoDB: The InnoDB memory heap is disabled
140707 18:32:05 InnoDB: Mutexes and rw_locks use GCC atomic builtins
140707 18:32:05 InnoDB: Compressed tables use zlib 1.2.7
140707 18:32:05 InnoDB: Using Linux native AIO
140707 18:32:05 InnoDB: Initializing buffer pool, size = 128.0M
InnoDB: mmap(137363456 bytes) failed; errno 12
140707 18:32:05 InnoDB: Completed initialization of buffer pool
140707 18:32:05 InnoDB: Fatal error: cannot allocate memory for the buffer pool
140707 18:32:05 [ERROR] Plugin 'InnoDB' init function returned error.
140707 18:32:05 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
140707 18:32:05 [ERROR] Unknown/unsupported storage engine: InnoDB
140707 18:32:05 [ERROR] Aborting
这是我的 etc/my.cnf 文件
[mysqld] 数据目录=/var/lib/mysql socket=/var/lib/mysql/mysql.sock
#禁用符号链接以防止各种安全风险 符号链接=0
#Settings 使用 systemd 时忽略用户和组。
#如果需要在不同的用户或组下运行mysqld,
#根据 mysqld 自定义你的 systemd 单元文件
#instructions in http://fedoraproject.org/wiki/Systemd
[mysqld_safe] 日志错误=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid
在 var/lib/mysql 中我找不到用于日志的 mysql.sock 文件。但我的默认套接字指向 var/lib/mysql/mysql.sock
我的mysql版本(5.5)
如果我输入命令
mysql --version 它显示
mysql Ver 14.14 Distrib 5.5.38,适用于 Linux (x86_64),使用 readline 5.1
请建议我该怎么做。我不时收到此错误,我的网站在几个小时内运行良好,一段时间后我收到此错误,所以请建议我如何永久解决此问题。
如果您需要任何其他详细信息,请列出我。
提前致谢。
【问题讨论】:
【参考方案1】:问题主要是由于处理速度和内存空间较低,所以我进行了交换,这清除了服务器中的一些空间,并且成功了。
【讨论】:
【参考方案2】:您使用哪个用户连接到数据库,您使用的是 root 用户,尝试创建新用户,将所有私有权限授予新用户,并在 local.xml 文件中使用该用户连接到该用户。
谢谢
【讨论】:
嗨 Moshin 将我的数据库导入我的实例后,我创建了一个新用户并授予该用户所有权限并修改了我的 local.xml 文件,但此错误仍在发生。 请给我一个答案,这个错误正在杀死我。 @user3532653 抱歉。我对此一无所知。这不属于我的专业领域。【参考方案3】:是权限问题,尝试给mysql文件夹和mysql数据文件夹完全权限(777),
如果这也不起作用,请尝试重新安装 mysql。
【讨论】:
@Moshin 你能不能给我命令来改变mysql和mysql数据文件夹。我试过 sudo chown -R 777 mysql:mysql /data/mysql 但它没有显示这样的文件或文件夹。跨度> 试试 sudo chmod -R 777以上是关于Amazon ec2 linux实例mysql未连接的主要内容,如果未能解决你的问题,请参考以下文章
Amazon Linux EC2 实例上的 uWSGI 安装异常
使用 MySQL Workbench 通过 EC2 实例连接到 Amazon RDS 实例
使用 MySQL Workbench 安全组通过 EC2 实例连接到 Amazon RDS 实例