概要
Ruby on Railsで開発する時に、データベースはいつもMySQLを使用しています。
そのデータベースに接続する時は、Sequel PROを使っていますが、最初の頃はどうやって接続すれば良いかわからずに悩みました。
理解できると非常に簡単なので、実際に使用している例を提示しながらわかりやすく説明します。
今回は、ローカル開発・Vagrant・本番サーバの3つについて紹介します。
例で使用しているサービス
キリスト教会マップ
手順
ローカル開発
- まずは一番簡単なローカル開発での接続方法です。
- 以下は、自分が開発しているMacのデータベースに接続する時の情報です。
ホスト
- 127.0.0.1はローカル・ループバック・アドレスと呼ばれ、自分自身を指す特別なIPアドレスです。
- 基本的にこのIPで接続できます。
ユーザ名・パスワード
- こちらはデータベースに接続する際のユーザ名とパスワードになります。
- パスワードは設定している場合に必要ですが、設定していない場合は必要ありません。
- このユーザ名とパスワードは、コマンドで接続する時に使用するものだと理解すれば覚えやすいと思います。
$ mysql -u root -p
Enter password:
- 上記の
root
がユーザ名で、 passwordに入力するものがパスワードということです。
データベース
- ここは接続するデータベース名を入力します。
- データベース名を確認するには、コマンドでmysqlに入った後、以下を実行します。
mysql> show databases;
- ここで表示されているデータベース名から接続したいものを選びます。
ポート
- ここはポート番号を入力しますが、MySQLはデフォルトが
3306
なので、通常これを入力していれば問題ありません。
接続をテスト
- それでは実際に接続できるかテストしてみます。
- 上記のように、『接続をテスト』ボタンを押すと、「接続が成功しました」と表示されればOKです。
## Vagrant * 続けてVagrantで開発している場合の情報を見ていきます。 * 以下は、自分が使用しているVagrantのデータベースに接続する時の情報です。 * VagrantでVirtualBoxが起動している時のみ接続できます。
接続イメージ
- Macから以下のようなイメージでデータベースに接続します。
- 以下のように、SSH接続とデータベース接続の2段階に分かれています。
- これを理解すれば、何を入力すれば良いか理解が深まると思います。
データベースへの接続
- まず赤囲みの部分は、開発しているMacで見たようにデータベースに接続する情報を入力します。
SSH接続
- VagrantでVirtualBoxを起動した後、SSHで接続して入ります。
- その情報を入力します。
SSH ホスト
- SSHホストは、Vagrantfileで設定したIPです。
- Vagrantfileを開くと、以下のように記載されている部分です。
# using a specific IP.
config.vm.network "private_network", ip: "192.168.33.10”
SSHユーザ、SSHパスワード
- Vagrantの場合、以下がデフォルトとなっています。
SSH: vagrant
SSHパスワード: vagrant
SSHポート
- SSHポートはデフォルトで
22
です。 - 設定を変更していなければ、22で接続できます。
## 本番サーバ * 最後にEC2など本番サーバへの接続方法を見ていきます。 * 以下は、自分が使用しているEC2のデータベースに接続する時の情報例です。
接続イメージ
- Macから以下のようなイメージでデータベースに接続します。
データベースへの接続
- まず赤囲みの部分は、データベースに接続する情報を入力します。
- 自分の場合は、本番サーバ内にデータベースを入れているので、以下のような情報となります。
SSH接続
- SSHで接続する時の情報を入力します。
SSH ホスト
- 本番サーバのIPアドレスを入力します。
SSHユーザ
- 本番サーバにSSH接続する時に使用するユーザ名を入力します。
- EC2だと、デフォルトはec2-userです。
SSH鍵
- SSH接続する際に使用する鍵を選択します。
SSHポート
- デフォルトのポート番号は、22です。
- 変更していた場合、それに合わせて入力してください。
以上の入力すると、本番サーバのデータベースに接続することができます。
## RDSの場合 * RDSなどデータベースサーバを使用している場合は、以下のようにすれば接続できます。
- SSH接続は同じなので、データベースへの接続情報をRDSに合わせます。
- 基本的にはMySQLホストにRDS先を入れればOKです。
総括
以上で、Sequel PROを使用してデータベースに接続する方法を紹介しました。
SSH接続とデータベース接続の2段階の情報を入力すれば良いということがわかれば、簡単です。
もしわからないことがあれば、コメントしてください。