为什么在 Ubuntu 14.04 上安装 MySQL 5.6 失败?

Web*_*ner 30 mysql amazon-ec2 14.04

出于好奇,我想看看 Ubuntu 14.04 上的 MySQL 5.6。根据这篇文章,安装看起来应该简单明了。所以我启动了一个运行 Ubuntu 14.04(64 位)的 AWS EC2 微型服务器,登录到我的原始实例(通过 PuTTY),并发出以下命令:

$ sudo apt-get update
$ sudo apt-get build-dep mysql-server-5.6
$ sudo apt-get install mysql-server-5.6
Run Code Online (Sandbox Code Playgroud)

(前两个命令是绝望的举动,因为apt-get install以前单独运行是行不通的。但即使使用了所有三个命令,安装步骤仍然不起作用。)

在我期望的地方,根据上面引用的文章,可以看到最终命令的输出:

mysql start/running, process 2355  
Setting up libhtml-template-perl (2.95-1) ...  
Setting up mysql-common-5.6 (5.6.16-1~exp1) ...  
Processing triggers for libc-bin (2.19-0ubuntu6) ...  
Processing triggers for ureadahead (0.100.0-16) ...  
Run Code Online (Sandbox Code Playgroud)

我得到了这个:

start: Job failed to start  
invoke-rc.d: initscript mysql, action "start" failed.  
dpkg: error processing package mysql-server-5.6 (--configure):  
 subprocess installed post-installation script returned error exit status 1  
Setting up libhtml-template-perl (2.95-1) ...  
Setting up mysql-common-5.6 (5.6.16-1~exp1) ...  
Processing triggers for libc-bin (2.19-0ubuntu6) ...  
Processing triggers for ureadahead (0.100.0-16) ...  
Errors were encountered while processing:  
 mysql-server-5.6  
E: Sub-process /usr/bin/dpkg returned an error code (1)
Run Code Online (Sandbox Code Playgroud)

谁能看到出了什么问题?

小智 24

我在初始化我的小型 VPS 时遇到了同样的问题。该问题是由小内存引起的。因此,无需花费额外的钱来增加您不需要的内存,您只需创建交换文件来帮助安装。是的,交换速度很慢,但您只需要完成安装即可。

在 Ubuntu 14.04 上,我执行以下操作来解决问题:

创建 4G 交换文件:

sudo fallocate -l 4G /swapfile
Run Code Online (Sandbox Code Playgroud)

将其权限更改为只有 root 可以访问和更改:

sudo chmod 600 /swapfile
Run Code Online (Sandbox Code Playgroud)

让它交换:

sudo mkswap /swapfile
Run Code Online (Sandbox Code Playgroud)

启用:

sudo swapon /swapfile
Run Code Online (Sandbox Code Playgroud)

现在你可以再次尝试安装mysql,这次应该成功了。请记住在执行此操作之前删除先前不成功的安装。


Mic*_*ler 22

您遇到的问题与此错误报告相同。启动失败似乎是因为默认的 MySQL 5.6 配置需要的内存多于它在您的微实例中所能获得的内存。

该错误的解决方案似乎是执行以下操作之一:

  • 增加 EC2 实例中的内存量
  • 为 MySQL 的max_connections变量设置一个较小的值