こんにちは。
早く駆け出したい @iloveomelette です。
AWSにデプロイを行う際、Rails + MySQLのインストール方法を紹介した記事などはたくさんあるのですが、なぜかMySQLと高い互換性を持つRails + MariaDBのインストール方法はあまり見かけないので、こちらでアウトプットしていきます。
尚、ご指摘箇所がございましたら
ご教授いただけますと幸いです。
はじめに
では、まず前提として私の動作環境についてお伝えしておきます。
- macOS Monterey 12.3.1 (M1)
- Rails 6.1.5
- MariaDB 10.6.7
- Amazon マシンイメージ (AMI):「無料利用枠の対象 Amazon Linux 2 AMI (HVM), SSD Volume Type 64ビット (x86)」
- インスタンスタイプの選択:「無料利用枠の対象タグの付いた t2.micro」
- RDSも使用
注意
以降、ややこしい記載があるので間違えないようにしてください。
ローカル環境のターミナル => ご自身のターミナル
サーバ環境のターミナル => EC2にログインした状態のターミナル
EC2インスタンスの作成から各種設定までは完了していることを前提とします。
もし、完了していない場合はお手数ですが、他の記事を参考に進めていただいてから戻ってきていただけますと幸いです。
前提としてはこんなところでしょうか。追記が必要な場合は追記していきます。
EC2にログイン
EC2にログインしていない場合は、ログインをしましょう。
以下のコマンドにご自身のパスやユーザ名などを変えて入力してください。
ssh -i /path/my-key-pair.pem my-instance-user-name@my-instance-public-dns-name
MariaDBのインストール
では、本題のMariaDBをインストールしていきます。
手順としては、
- MariaDBのリポジトリを追加
- MariaDBのインストール
MariaDBのリポジトリを追加
まずは下準備をしていきます。
先にMariaDBのリポジトリを取得しましょう。
公式MariaDBにアクセスして
EC2で使うアーキテクチャを選択した後に、バージョンを選択するタブが出てくるので
EC2で選択したバージョンと同じものを選択してMirrorは適当に選択してください。
私の場合はデフォルトで「山形大学」(?)だったので、そのまま選択しました。
全て選択することができたら、赤枠の部分を全てコピーをします。
コピーができたら以下のコマンドを実行していきます。
# `yum.repos.d`ディレクトリがちゃんとあるか念の為、確認をします。
$ ls /etc/yum.repos.d
=> amzn2-core.repo amzn2-extras.repo
# Vimを開いて`MariaDB.repo`ファイルを新規作成します。
$ sudo vi /etc/yum.repos.d/MariaDB.repo
注意点としては、2つ目のコマンド冒頭sudo
を付けている点です。
権限の関係上、これを付けないと保存できません。
VimでMariaDB.repo
を新規作成したら、先ほどのコピーしたものをペーストしてください。
*Vimの使い方に関しては、他の記事を参照してください。文字の入力をするためにはキーボードのi
を押して「インサートモード」にする必要があります。
ペーストして保存までできたら以下のコマンドを実行して念の為、ちゃんとコピーされているか確認します。
$ cat /etc/yum.repos.d/MariaDB.repo
しっかりと保存されていればOKです。
MariaDBのインストール
では、下準備も終わったところでメインのインストールに入ります。
以下のコマンドを実行してインストールします。
$ sudo yum -y install MariaDB-server MariaDB-client MariaDB-devel MariaDB-shared
上のコマンドでインストールしたものが何かは公式MariaDBで知ることができます。
Package Name | Description |
---|---|
MariaDB-client | Client tools like mysql CLI, mysqldump, and others. |
MariaDB-server | The server and server tools, like myisamchk and mysqlhotcopy are here. |
MariaDB-devel | Development headers and static libraries. |
MariaDB-shared | Dynamic client libraries. |
引用:公式MariaDB
MariaDB-client
はMySQL コマンドラインクライアントなどのツールで、これをインストールして使用することでAWSのRDSに接続することができます。
MariaDB-server
はその名の通りデータベースサーバを使うためのパッケージです。
MariaDB-devel
はRailsからMariaDBを操作するために必要なパッケージです。
MariaDB-shared
は動的クライアントのライブラリらしいですが、勉強不足のため分かりません。詳しい方いらっしゃいましたらご教授いただけますと幸いです。
話が逸れましたが、インストールが完了したらRDSのMariaDBにログインします。
$ mysql -h エンドポイント -u root -p
# コマンドを実行するとRDSのパスワードが聞かれるので入力
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is ***
Server version: 10.6.7-MariaDB-log managed by https://aws.amazon.com/rds/
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
省略したオプションは以下の意味を持っています。(参照)
オプション | 略なし | 意味 |
---|---|---|
-h | --host | ホスト名を指定 |
-u | --user | ユーザ名を指定 |
-p | --password | パスワードを指定 |
上記のコマンドを実行してパスワードを入力するとMariaDB >
に切り替わるのでデータベースがちゃんと存在するか以下のコマンドを実行して確認します。
MariaDB > show databases;
# 「アプリ名_production」があればOK!
MariaDB > exit
これで無事にMariaDBをインストールすることができました!!
お疲れ様でした!!
誰かのお役に立てたら幸いです。