MySQL の設定
Ruby on RailsのようなWebアプリケーションフレームワークにとって、データベースは必ずセットで必要になると言っても過言ではない。Webアプリケーションに関連する全てのデータを保存しておく場所となるためである。例えばTwitterの例で考えてみると、データベースがなければ、ユーザーの情報も、ユーザーが呟いた内容も、保存しておくことができない。
データベースの種類
一口にデータベースと言っても、いくつかの種類がある。
- 階層型データベース
- ネットワーク型データベース
- リレーショナルデータベース
この中で最も利用されているのが、リレーショナルデータベース。
エクセルの表のような形で情報を整理し、管理することができる。そして、このリレーショナルデータベースを管理するソフトウェアはリレーショナル・データ・ベース・マネジメント・システム(RDBMS)と呼ばれる。
MySQL
MySQLは、Oracle社が開発・提供をしているRDBMS。データベースの作成、編集、削除などを行うことができる。オープンソースソフトウェアとして公開されており、誰でも無償で利用することができる。
Ruby on Railsと合わせ利用することができる。
MySQLの設定と動作確認
MySQLの設定と起動を行い、デプロイするアプリケーションのデータベースが適切に使えるようにしていく。
今回のシステム構成は、以下のような形になっている。
一つのEC2インスタンスに、Railsをはじめ必要なソフトをすべてインストールしている。MySQLもそのうちの一つ。上の図で「データベースサーバー」と書かれているものが、MySQLに当たる。MySQLのようなソフトはデータベースの管理を行うため、そのように呼ばれることもある。
MySQLをインストールする
Amazon Linuxを利用している場合、MySQLは yum
コマンドからインストールすることができる。
1 |
[ec2-user@ip-172-31-25-189 ~]$ sudo yum -y install mysql56-server mysql56-devel mysql56
|
これは、MySQLのバージョン5.6をインストールすることを意味する。
MySQLを起動
MySQLを起動するために service
コマンドを利用する。これは、Amazon LinuxやCentOSに含まれているもので、インストールしたソフトウェアの起動を一括して行えるツール。
1 |
[ec2-user@ip-172-31-25-189 ~]$ sudo service mysqld start
|
mysql
ではなく mysqld
であることに注意する。「d」はLinuxの用語で「サーバ」を意味する「デーモン(daemon)」の頭文字。
起動できたか確認するために、以下のコマンドを実行する。
1 2 |
[ec2-user@ip-172-31-25-189 ~]$ sudo service mysqld status
mysqld (pid 15692) is running...
|
「running」と表示されれば、MySQLの起動は成功。
MySQLのrootパスワードの設定
yum
でインストールしたMySQLには、デフォルトで root
というユーザーでアクセス出来るようになっているが、パスワードは設定されていない。
そこで、以下のコマンドでパスワードを設定する。'設定したいパスワード'
の部分については、例えばpassword0000という文字列を設定するとしたら、 'password0000'と記載する。0から始まるpasswordは読み込んでくれないケースが多いので、避ける!
(例えば、’0331higuchi’など)
1 |
[ec2-user@ip-172-31-25-189 ~]$ sudo /usr/libexec/mysql56/mysqladmin -u root password 'ここを設定したいパスワードに変更してからコマンドを実行してください'
|
このパスワードは、後ほどRailsからアクセスする時にも利用するので記憶しておく。
この時、Warning: Using a password on the command line interface can be insecure.
と警告がでることがあるが、ここでは無視していただいて問題ない。
MySQLへの接続確認
設定したパスワードが使えるか確認してみる。
1 |
[ec2-user@ip-172-31-25-189 ~]$ mysql -u root -p
|
Enter password:
とパスワードを入力するように表示されるので、先程設定したパスワードを入力して、Enterする。以下のように表示されれば、MySQLの設定は終了。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.6.33 MySQL Community Server (GPL)
Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
|
まとめ
作業の流れ