インフラ構築(AWS):MySQL編

前回はとりあえず必要なミドルウェアをインストールだけして終わったので、それぞれ必要な設定をしていきます。

サーバの基本的な設定

まずはホスト名を設定。

# vi /etc/sysconfig/network
HOSTNAME={NEW-HOSTNAME}

再起動しないので、とりあえずホスト名を更新します。

# hostname {NEW-HOSTNAME}

hostsにも設定を書きます。

# vi /etc/hosts
127.0.0.1 localhost {NEW-HOSTNAME}

 MySQLの設定

my.cnfを編集
今回mysqlを動かすインスタンスはあまり2GBのメモリサイズで、DB専用ではないので、my-medium.cnf をベースにします。

cp /etc/my.cnf /etc/my.cnf.back ←バックアップとる 
cp /usr/share/mysql/my-medium.cnf  /etc/my.cnf  ←上書きコピー

今回はとりあえず必要最小限の設定のみ。文字コードの設定とinnoDBの基本設定だけとします。

# vi /etc/my.cnf
[mysqld]
(省略)
character-set-server=utf8
innodb_file_per_table
[mysqldump]
default-character-set=utf8
[mysql]
default-character-set=utf8

MySQL5.5系から文字コード設定が
default-character-setからcharacter-set-serverに変更になったとのこと。
mysqlを再起動します。
設定に問題がなければ正常に起動できるはず

# service mysqld restart
Stopping mysqld:     [ OK ]
Starting mysqld:     [ OK ]

MySQLのrootユーザーのパスワードを設定

# mysqladmin -u root password "NEW-PASSWORD"

MySQLにユーザーを追加

とりあえず、全権限のあるユーザーを追加。これだとrootで運用するのと大差ないんで、必要に応じて権限を限定したユーザーを作るべきなんでしょうが。。。

# mysql -u root -p
mysql> GRANT ALL PRIVILEGES ON *.* TO {USERNAME}@localhost IDENTIFIED BY ‘{PASSWORD}' WITH GRANT OPTION;
mysql> GRANT ALL PRIVILEGES ON *.* TO {USERNAME}@‘%' IDENTIFIED BY ‘{P ASSWORD}' WITH GRANT OPTION;FLUSH
mysql> PRIVILEGES;

とりあえず今回はここまで。次回はPHPの設定をします。


 AWSでサーバー構築

・AWSでサーバー構築(t2.small) ・インフラ構築(AWS):MySQL編 ・インフラ構築(AWS):Apache,PHP編 ・インフラ構築(AWS):munin編