Amazon EC2 にてAmazon Linux AMIにMySQLを入れる

 Amazon EC2にて、Amazon Linux AMI(32bit)を使い、マイクロインスタンスインスタンスを作成した。そこにMySQLを入れてみた。

 インスタンスの起動までは試していたが、その起動はブラウザからAWS Management Consoleで行っていたため、ターミナルからsshを使ってアクセスできるようにする。

 インスタンスを生成した際にキーファイル(pem)は手元にあるため、以下のコマンドで接続できた。

$ssh ec2-user@{Public-DNS} -i xxx.pem

       __|  __|_  )  Amazon Linux AMI
       _|  (     /     Beta
      ___|\___|___|

 これでOKなので、現在のサービス一覧を見てみます。基本的に何も入っていません。

$ sudo service --status-all
anacron is stopped
atd (pid  918) is running...
Usage: /etc/init.d/cloud-init {start|stop|restart}
Usage: /etc/init.d/cloud-init-user-scripts {start|stop|restart}
conmand is stopped
Frequency scaling not supported under xen kernels
crond (pid  903) is running...
iptables: Firewall is not running.
irqbalance is stopped
mdadm is stopped
mdmpd is stopped
multipathd is stopped
netconsole module not loaded
Configured devices:
lo eth0
Currently active devices:
lo eth0
ntpd (pid  870) is running...
Process accounting is disabled.
rdisc is stopped
sandbox is stopped
saslauthd is stopped
sendmail-l (pid  886) is running...
sm-client-l (pid  894) is running...
openssh-daemon (pid  859) is running...
syslogd (pid  767) is running...
klogd (pid  770) is running...
yum-updatesd (pid 937) is running...

 次に、いよいよMySQLをインストールします。参考にしたのは MySQL :: MySQL 5.1 Reference Manual :: 15.4.1 Setting Up MySQL on an EC2 AMI です。

$ sudo yum install mysql

(略)

Running Transaction
  Installing     : mysql-libs-5.1.47-1.2.amzn1.i386
 1/2 
  Installing     : mysql-5.1.47-1.2.amzn1.i386
 2/2 

Installed:
  mysql.i386 0:5.1.47-1.2.amzn1

Dependency Installed:
  mysql-libs.i386 0:5.1.47-1.2.amzn1                                                                                            

Complete!

 これでインストールが完了するのですが、どうもおかしい。作られる予定の/var/lib/mysqlや/etc/init.d/mysqldがないのです。少し調べてみると、MySQL の公式 RPM を使おう | Carpe Diem に記述があるように mysqlの指定だと、MySQL-client-community + MySQL-shared-communityだけがインストールされるようです。(本家のドキュメントには「This installs both the MySQL server and the Perl DBD::mysql driver for the Perl DBI API. 」と書いてあるのに。。。)

 そこで以下を実行したところ、MySQL-server-communityがインストールされした。

$ sudo yum install mysql-server

(略)

Running Transaction
  Installing     : perl-DBI-1.609-4.2.amzn1.i386
 1/3 
  Installing     : perl-DBD-MySQL-4.013-3.2.amzn1.i386
 2/3 
  Installing     : mysql-server-5.1.47-1.2.amzn1.i386
 3/3 

Installed:
  mysql-server.i386 0:5.1.47-1.2.amzn1           

Dependency Installed:
  perl-DBD-MySQL.i386 0:4.013-3.2.amzn1        perl-DBI.i386 0:1.609-4.2.amzn1

Complete!

 これでmysqlユーザも作成されるので、mysqlユーザになってmysql-serverを起動します。今回は、/etc/my.cnfはデフォルトのままで修正しませんでした。

$ /etc/init.d/mysqld start

 サービスを確認してみても、「mysqld (pid 21646) is running...」と出ています。動作確認もOKでした。

$ mysql

mysql> select VERSION(), CURRENT_DATE;
+-----------+--------------+
| VERSION() | CURRENT_DATE |
+-----------+--------------+
| 5.1.47    | 2010-11-07   |
+-----------+--------------+
1 row in set (0.00 sec)

 さて、5.1.47がインストールされているのですが、これはデフォルトでInnoDBが有効なのかな?続きは次回。