LoginSignup
1

More than 3 years have passed since last update.

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

Last updated at Posted at 2020-08-28

はじめに

「AWSのサーバーを利用する」ための手順を5つに分けて書いています。

記事は以下にまとめておりますのでご確認ください。

EC2の初期設定
本番環境でデータベースを作成する ← イマココ
EC2のRailsを起動する
Webサーバーを設定する
デプロイを自動化する

データベースの用意

データベースには以下のような種類がる。

・階層型データベース
・ネットワーク型データベース
・リレーショナルデータベース

この中でもっとも利用されているのが「リレーショナルデータベース」
エクセルの表のような形で情報を整理し、管理できる。
そして、このリレーショナルデータベースを管理するソフトウェアは
リレーショナル・データ・ベース・マネジメント・システム(RDBMS)と呼ばれる。

そんなRDBMSの中でも代表的なものの1つがMySQL
そして、MySQLから派生したMariaDBというデータベースもある。

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

※基本的にMariaDBとMySQLは同様のものと考えて差し支えないです。

MariaDBをインストール

Amazon Linux 2を利用している場合、MariaDBは 「yumコマンド」からインストールできる。

ターミナル(EC2内)で以下のコマンドを実行

[ec2-user@ip-***-**-**-*** ~]$ sudo yum -y install mysql56-server mysql56-devel mysql56 mariadb-server mysql-devel

データベースを起動

データベースを起動するために「systemctlコマンド」を利用します。

ターミナル(EC2内)で以下のコマンドを実行

[ec2-user@ip-***-**-**-*** ~]$ sudo systemctl start mariadb

起動できたか確認するために、以下のコマンドを実行

[ec2-user@ip-***-**-**-*** ~]$ 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) 」と緑色の表示がされれば、データベースの起動は成功

データベースのrootパスワードの設定

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

※ 0から始まるpasswordは読み込んでくれないケースが多いので避ける

ターミナル(EC2内)で以下のコマンドを実行

[ec2-user@ip-***-**-**-*** ~]$ 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内)で以下のコマンドを実行

[ec2-user@ip-***-**-**-*** ~]$ 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」と入力すれば終了できる。


以上です。お疲れ様でした。

続きは → こちら

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
What you can do with signing up
1