2015-02-05 170 views
0

所以我有mysql安装在我的EC2实例,但是当我尝试启动它,我得到以下错误:无法启动mysql安装在Amazon EC2实例

ubuntu$ mysql --version 
mysql Ver 14.14 Distrib 5.6.19, for debian-linux-gnu (x86_64) using EditLine wrapper 
ubuntu$ mysql start 
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) 
+0

'mysql'是一个命令行客户端实用程序。它本身并不启动mysql服务器。这通常通过'service'命令完成。例如'service mysqld start'。某些版本的linux可能使用mysql-server,而其他版本则使用mysqld作为服务名称。 – datasage 2015-02-05 16:47:46

+0

'ubuntu $ service mysql start mysql:无法识别的服务' – 2015-02-05 18:25:19

+0

正如我所说的,它可能实际上使用了不同的服务名称,如mysql-server。每种不同的linux命名软件包和服务的味道。 – datasage 2015-02-05 19:03:24

回答

-1

有设置的许多不同的方式带有MySQL的EC2 AMI,包括使用亚马逊提供的任何预先配置的AMI。

默认入门AMI Amazon提供使用的Fedora Core 4,你可以通过使用yum的安装MySQL:

外壳>百胜安装mysql 这将同时安装MySQL服务器和Perl的DBD :: MySQL驱动程序为Perl DBI API。

或者,您可以在标准安装中使用包含MySQL的AMI之一。

最后,您还可以安装从MySQL网站下载的标准MySQL版本。安装过程和说明与Linux上任何其他MySQL安装相同。请参阅第2章安装和升级MySQL。

MySQL的标准配置将数据文件放置在默认位置/ var/lib/mysql中。 EC2实例上的默认数据目录是/ mnt(尽管在大型和特大型实例中您可以更改此配置)。您必须编辑/etc/my.cnf以将datadir选项设置为指向较大的存储区域。

重要 您首次使用EC2实例中的主存储位置时,需要对其进行初始化。初始化过程在您第一次写入设备时自动启动。您可以立即开始使用该设备,但新设备的写入性能在初始写入时明显较低,直到初始化过程结束。

为了避免在设置新实例时出现这个问题,您应该在填充MySQL数据库之前启动初始化过程。执行此操作的一种方法是使用dd写入文件系统:

root-shell> dd if =/dev/zero = initialize bs = 1024M count = 50 上述操作会在文件系统上创建50GB并开始初始化过程。过程完成后删除文件。

初始化过程可能非常耗时。在小实例中,初始化需要两到三个小时。对于大型和超大型驱动器,初始化可能分别为10或20小时。

除了配置正确的存储位置为你的MySQL数据文件,也可以考虑在您的实例设置以下其他设置保存实例配置在部署之前:

设置MySQL服务器的ID,这样当您使用它进行复制,ID信息设置正确。

启用二进制日志记录,以便可以在不启动和停止服务器的情况下初始化复制。

为存储引擎设置缓存和内存参数。对于您在EC2环境中使用的存储引擎没有限制或限制。选择一个配置,可能使用适用于您希望部署的实例的MySQL提供的标准配置之一。大型和超大型实例都具有专用于缓存的RAM。请注意,如果您选择在服务器上安装memcached作为应用程序堆栈的一部分,则必须确保MySQL和memcached都有足够的内存。

一旦您用AMI和其他应用程序堆栈配置了AMI,请保存AMI以便您可以部署和重新使用该实例。