AWSのサーバー(mariadb)インストール

#本番環境でデータベースを作成する
ここまでサーバーを立ち上げて必要な設定をし、Rubyをインストールするところまで完了しました。
次は、Railsからアクセスされるデータベース関連の事柄について学習し、実際にデータベースを作成します。
Ruby on RailsのようなWebアプリケーションフレームワークにとって、データベースは必ずセットで必要になります。Webアプリケーションに関連するすべてのデータを保存しておく場所となるためです。たとえばTwitterの例で考えてみましょう。データベースがなければ、ユーザーの情報も、ユーザーが呟いた内容も、保存しておくことができません。

###MariaDB
「MariaDB」とは、MySQLの派生として開発されているオープンソースソフトウェアです。MySQLとの互換性があります。今回、Amazon Linux 2ではMariaDBを使用します。

基本的にMariaDBとMySQLは同様のものと考えていいです。

データベースの設定と起動を行い、デプロイするアプリケーションのデータベースが適切に使えるようにします。

今回のシステム構成は、以下のような形になっています。
![スクリーンショット 2021-01-04 13.43.14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/918688/476a16b0-d184-27e9-37d7-019e16f0f562.png)

1つのEC2インスタンスに、Railsをはじめ必要なソフトをすべてインストールしています。MariaDBもそのうちの一つです。上の図で「データベースサーバー」と書かれているものが、MariaDBに当たります。MariaDBのようなソフトはデータベースの管理を行うため、そのように呼ばれることもあります。
###MariaDBをインストール
Amazon Linux 2を利用している場合、MariaDBは 「yumコマンド」からインストールできます。

```
[ec2-user@ip-172-31-25-189 ~]$ sudo yum -y install mysql56-server mysql56-devel mysql56 mariadb-server mysql-devel
```
データベースを起動するために「systemctlコマンド」を利用します。
```systemctlコマンド```は、Amazon LinuxやCentOSに含まれているもので、インストールしたソフトウェアの起動を一括して行えるツールです。

```
[ec2-user@ip-172-31-25-189 ~]$ sudo systemctl start mariadb
```
起動できたか確認するために、以下のコマンドを打ってみましょう。

```
[ec2-user@ip-172-31-25-189 ~]$ sudo systemctl status mariadb

● mariadb.service - MariaDB database server
   Loaded: loaded (/usr/lib/systemd/system/mariadb.service; disabled; vendor preset: disabled)
   Active: active (running) since 土 2020-02-29 07:00:11 UTC; 7s ago
  Process: 5993 ExecStartPost=/usr/libexec/mariadb-wait-ready $MAINPID (code=exited, status=0/SUCCESS)
  Process: 5957 ExecStartPre=/usr/libexec/mariadb-prepare-db-dir %n (code=exited, status=0/SUCCESS)
```
「active (running) 」と緑色の表示がされれば、データベースの起動は成功です。

yumでインストールしたMariaDBには、デフォルトで「root」というユーザーでアクセスできるようになっていますが、パスワードは設定されていません。なので、パスワードを設定する必要があります。
パスワードは自身で決めることができます。ご自身が覚えやすいパスワードを設定しましょう。

```
[ec2-user@ip-172-31-25-189 ~]$ sudo /usr/bin/mysql_secure_installation
```
その後、以下のステップで実行します。

①	```「Enter current password for root (enter for none): 」```と表示されたらEnterキーを押す
②	```「Set root password? [Y/n]」```と表示されたら「Y」を入力してEnterキーを押す
③	```「New password:」```と表示されたら自身で決めたパスワードを入力（※とくに画面には何も表示されませんが入力できています）
④	```「Re-enter new password:」```と表示されたら、同じパスワードを入力（とくに画面には何も表示されませんが入力できています）

ここで「... Success!」と表示されればパスワードの設定は完了です。しかしながら、続けて細かい設定について答える必要があります。

①	```「Remove anonymous users? [Y/n]」```と表示されたら「Y」を入力してEnterキーを押す
②	```「Disallow root login remotely? [Y/n]」```と表示されたら「Y」を入力してEnterキーを押す
③	```「Remove test database and access to it? [Y/n]」```と表示されたら「Y」を入力してEnterキーを押す
④	```「Reload privilege tables now? [Y/n]」```と表示されたら「Y」を入力してEnterキーを押す

####データベースへの接続を確認しましょう
さきほど設定したパスワードが使えるか確認してみましょう。以下のコマンドを入力してください。

```
[ec2-user@ip-172-31-25-189 ~]$ mysql -u root -p
```
「Enter password:」とパスワードを入力するように表示されるので、さきほど設定したパスワードを入力して、Enterキーを押してください。以下のように表示されれば、データベースの設定は終了です。

```
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 142
Server version: 5.5.64-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> 
```
「exit」と入力すれば抜け出すことができます。

次回は手動デプロイについて投稿します。