Help us understand the problem. What is going on with this article?

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

はじめに

「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」と入力すれば終了できる。


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

続きは → こちら

maca12vel
プログラミングを学習しています。 備忘録など、主にアウトプットとして発信していきます HTML, CSS, Ruby, Ruby on Rails, JavaScript, jQuery, PHP を学習中です 初学者ですので間違いがあればご指摘・アドバイス等、宜しくお願いいたします!
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした