第10回 MariaDBのインストール
プライベートサブネット上のインスタンスに、DBソフトウェアをインストールします。
MariaDBのパッケージは、前回構築したNATゲートウェイを経由しインターネットからgetします。
以下の通り進めていきます。
DBサーバへssh接続
ご使用の端末に応じて、WindowsならTeraTerm、MACなら標準のターミナルが使いやすいかと思います。
今回はMACのターミナルを用いて作業をしていきます。
作業における注意点としては以下2点です。
- DBサーバはパブリックIPアドレスを持っていませんので、端末から直接ssh接続することはできません。ですのでWebサーバ→DBサーバと段階的にssh接続していきます。
- WebサーバからDBサーバへ接続することとなるため、Webサーバ上にDBサーバのキーファイルを格納しておく必要があります。
Webサーバへssh接続する
ターミナルで以下コマンドを入力し、Webサーバへ接続します。
キーファイルについては、フルパス指定かキーファイル格納場所まで事前にcd
してあげてください。
$ ssh -i "キーファイル" "ユーザ名"@"接続先サーバのパブリックIP"
# キーファイル:接続先サーバ(Webサーバ)のキーファイル、「my-key.pem」、
# 実行結果にある`./`はなくても良い。
# ユーザ名:Webサーバのユーザ名、「ec2-user」
# 接続先サーバのパブリックIP:WebサーバのパブリックIP、秘密
WebサーバにDBサーバのキーファイルをおく
続けて、WebサーバにDBサーバの鍵ファイルを転送します。
ターミナルをもう1個立ち上げて、以下コマンドを入力します。
上記同様、ファイル指定時は、フルパスかファイル格納場所まで事前にcd
してあげてください。
$ scp -i "キーファイル" "コピーするファイル" "ユーザ名"@"接続先サーバのパブリックIP":"コピー先ディレクトリ"
# キーファイル:接続先サーバ(Webサーバ)のキーファイル、「my-key.pem」
# コピーするファイル:今回は「DBserver.pem」
# ユーザ名:Webサーバのユーザ名、「ec2-user」
# 接続先サーバのパブリックIP:WebサーバのパブリックIP
# コピー先ディレクトリ:指定があれば指定する(/home/aws/key等)、今回は「~」(ユーザのホームディレクトリ)
DBサーバへssh接続する
Webサーバへ接続した状態のターミナルを利用します。
以下コマンドでWebサーバからDBサーバへssh接続します。
$ ssh -i "キーファイル" "ユーザ名"@"接続先サーバのプライベートIP"
# キーファイル:接続先サーバ(DBサーバ)のキーファイル、「DBserver.pem」
# ユーザ名:DBサーバのユーザ名、「ec2-user」
# 接続先サーバのプライベートIP:DBサーバのプライベートIP、「10.0.2.10」
MariaDBのインストール
DBサーバへログインができたら、MariaDBをインストールします。NATゲートウェイを削除してしまった方は、このタイミングで再作成でOKです。
以下のコマンドを実行します。
$ sudo yum install -y mariadb-server
MariaDBの設定
インストールが完了したらMariaDBの起動と設定を行っていきます。ここはほぼ参考書通りです。
## 起動状態を確認する
$ sudo systemctl status mariadb
## 自動起動設定も確認する
# sudo systemctl list-unit-files | grep mariadb
## 停止しているはずなので起動する
$ sudo systemctl start mariadb
## 自動起動もしないはずなので設定する
# sudo systemctl enable mariadb
## 起動状態を再度確認する
$ sudo systemctl status mariadb
## 自動起動設定も再度確認する
# sudo systemctl list-unit-files | grep mariadb
## rootユーザのパスを設定する
$ mysqladmin -u root password
## dbにrootユーザでアクセス
$ mysql -u root -p
## dbを作成
## コマンド上、"wordpress"がDB名となる
> CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
## 作成したDBへアクセス権を付与する
> grant all on wordpress.* to wordpress@"%" identifited by '設定したパス';
## fulshで内容を反映
>flush privileges
## wordpressユーザがいるか確認
> select user, host from mysql.user;
### ->参考(実行結果)に詳細
以上です。次回パブリック側にWordPressをインストールしてとりあえず終わりの予定です。