0
0

More than 3 years have passed since last update.

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

Last updated at Posted at 2021-01-04

本番環境でデータベースを作成する

ここまでサーバーを立ち上げて必要な設定をし、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

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」と入力すれば抜け出すことができます。

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

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0