人生のヒント

私が経験したことが、誰かの人生のヒントになればと願い書きます。

5.本番環境を整える(MySQL)

スポンサーリンク

前回は、サーバ上にRuby On Railsを実行させる環境を整えました。

今回は、DBソフトをSQLiteではなくMySQLに変更したいと思います。

今回も下記URLの記事を参考に進めたいと思います。

https://www.oiax.jp/rails3book/setup_mysql.html

 

1.MySQLインストール

サーバへrootユーザでログインし、以下コマンドを実行します。

# apt-get install mysql-server libmysqlclient-dev

 

以下のような画面が表示されるので、MySQL用のrootユーザのパスワードを入力します。OSと別のパスワードが推奨されます。

確認されるので、もう一度入力するとインストールが実行されます。

f:id:hinthint:20160815083006p:plain

 

インストールが完了したら、以下のコマンドを入力します。

# mysql_install_db

# mysql -u root -p

MySQL用のrootユーザのパスワードを入力すると、MySQLにログインできます。

こんなプロンプトが表示されます。

mysql>

以下のSQL用コマンドを入力します。

mysql> show databases;

こんな感じの表示がされたらインストールは成功です。

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
+--------------------+
3 rows in set (0.00 sec)

 

app_productionデータベースを作り、MySQL用railsユーザに権限を与えます。

mysql> CREATE DATABASE app_production DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
mysql> GRANT ALL ON app_production.* TO 'rails'@'localhost';
mysql> SET PASSWORD FOR 'rails'@'localhost' = PASSWORD('MySQL用railsに与えるパスワード');

mysql> quit

 

2.動作確認

OSに戻ったら、OSのrailsユーザになります。

# su - rails

$ cd work/foo/

$ vi Gemfile

Gemfileの中身を以下のように変更します。

【変更前】

gem 'sqlite3'

【変更後】

gem 'mysql2'

 

以下のコマンドを実行します。

$ bundle install

$ vi config/database.yml

config/database.ymlの中身を以下のように変更します。

【変更前】

production:
  <<: *default
  database: db/production.sqlite3

【変更後】

production:
  adapter: mysql2
  database: app_production
  username: rails
  password: MySQL用railsに与えるパスワード
  host: 127.0.0.1
  encoding: utf8

 

以下のコマンドを実行します。

$ rake db:migrate

 

以下のコマンドを実行する。

$ rails s -b 0.0.0.0

Webブラウザで「http://サーバのIPアドレス:3000/users」にアクセスします。

前回と同じ動作確認が出来れば、問題無いでしょう。