Amazon LinuxにMySQLをセットアップする方法

久々にAmazon EC2のAmazon LinuxにMySQLをセットアップしようとしたところ、手順を忘れかけていたのでメモを残しておく。

MySQLのセットアップ手順

Amazon LinuxへMySQLをセットアップするには、以下の手順に沿って行う。

  1. yumコマンドでMySQL Client(+MySQL Shared)をインストールする
  2. yumコマンドでMySQL Serverをインストールする
  3. chkconfigコマンドで起動設定を行う
  4. MySQLを起動する
  5. MySQLにログインし、rootのパスワードを変更する

MySQL Client(+MySQL Shared)をインストールする

以下のコマンドを実行し、MySQL ClientとMySQL Sharedをインストールする。

sudo yum install mysql

これにより、MySQL-client-communityとMySQL-shared-communityがインストールされる。MySQL Clientには/usr/bin/mysqlなどのMySQLクライアント用のコマンドが含まれる。MySQL Sharedには/usr/lib64/libmysqlclient.so/usr/lib64/libmysqlclient_r.soといった共有ライブラリが含まれる。

※共有ライブラリをインストールすることで、過去のMySQLクライアントライブラリへ動的リンクするものがあったとしても、依存関係を壊すことなく、アップグレードすることができる。

MySQL Serverをインストールする

以下のコマンドを実行し、MySQL Serverをインストールする。

sudo yum install mysql-server

これにより、MySQL-server-communityがインストールされる。MySQL Serverにはmysqlのsysinitスクリプト、my.cnf設定ファイルなど、MySQLサーバに必要なプログラムが含まれる。mysqldもこれに含まれる。

chkconfigコマンドで起動設定を行う

以下のコマンドを実行し、MySQLの起動設定を行う。

sudo chkconfig mysqld on

chkconfigコマンドで起動設定が成功しているかを確認することができる。

chkconfig

以下のように表示されれば設定が成功している。

mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off

MySQLを起動する

以下のコマンドを実行し、MySQLを起動する。

sudo /etc/init.d/mysqld start

MySQLにログインし、rootのパスワードを変更する

以下のコマンドを実行し、MySQLにroot権限でログインする。

sudo mysql -u root

デフォルトで作成されているデータベースを確認する。

show databases;

MySQL自体のユーザー情報が管理されている「mysql」データベースを使用する。

use mysql;

「mysql」データベースにデフォルトで作成されているテーブルを確認する。

show tables;

「user」テーブルにて、ユーザのユーザ名とパスワードが管理されているので、rootの情報が管理されているレコードを対象にして、パスワードに変更を加える。以下のyourpasswordの部分にrootのパスワードを入力する。

update user set password=password ('yourpassword') where user='root';

flushコマンドで内部キャッシュを削除する。

flush privileges;

一旦、ログアウトする。

quit;

再度、rootでログインし、パスワードの設定が上手くいっているかを確認する。

mysql -u root -p

参考
Amazon EC2 にてAmazon Linux AMIにMySQLを入れる – Ken’s Blog
MySQL の公式 RPM を使おう | Carpe Diem