TechBox

スタートアップで働くRails&機械学習エンジニアのブログ。時々GT-Rと旅行。

Ruby on RailsをMySQLで動作させる手順

f:id:daisuke-jp:20160927101140p:plain

RubyOnRailsのDBをMySQL(MariaDB)に変更する手順を記載します。 MySQLとMariaDBは基本的に互換です。

前提

  • CentOS7 64bit
  • MySQL or MariaDB
  • ruby 2.3.1p112
  • Rails 4.2.6

手順

CentOS構築 

www.techbox.jp

MySQL or MariaDBインストール

www.techbox.jp

関連パッケージインストール

yum install gcc-c++ glibc-headers openssl-devel readline libyaml-devel readline-devel zlib zlib-devel

rbenvインストール(rubyのバージョン管理するやつ)

git clone https://github.com/sstephenson/rbenv.git /usr/local/rbenv
echo 'export RBENV_ROOT="/usr/local/rbenv"' >> /etc/profile
echo 'export PATH="${RBENV_ROOT}/bin:${PATH}"' >> /etc/profile
echo 'eval "$(rbenv init -)"' >> /etc/profile
# SSHを再接続して実行
rbenv --version

 

ruby-buildインストール

git clone https://github.com/sstephenson/ruby-build.git /usr/local/rbenv/plugins/ruby-build

 

rubyインストール

# Rubyのバージョン一覧確認
rbenv install -l
# Rubyのバージョンを指定してインストール
rbenv install -v 2.3.1
rbenv rehash
# 使うRubyのバージョンを指定
rbenv global 2.3.1
# Rubyのバージョン確認
ruby -v

 

Railsインストール

gem update --system
gem install --no-ri --no-rdoc rails
gem install bundler
rbenv rehash
# Railsのバージョン確認
rails -v

 

動作確認

Rails new コマンドでプロジェクト(アプリ)を作成する時に"-d mysql"と入れる事で、Railsで使用するDBがMySQLかMariaDBになります。 MariaDBを入れたとしても、MySQLと同じコマンドが使用できるので、 そのまま使用して頂いて構いません。

# ユーザー追加
useradd rails
# パスワード変更
passwd rails
su - rails
# プロジェクトを作成するディレクトリへ移動
cd < プロジェクトを配置するディレクトリ >
# Railsプロジェクト作成
rails new project_name -d mysql
bundle install

# MySQLに接続
mysql -u root -p
CREATE DATABASE データベース名;
GRANT ALL ON データベース名.* to ユーザ名@localhost;

# リモートからMySQL Workbenchで接続したい時などは以下も実行する
grant all privileges on データベース名.* to ユーザ名@"セグメント" identified by 'パスワード' with grant option;
# セグメントは 192.168.1.% のような形で記載します。

# WEBrickサーバー起動
rails s -b 0.0.0.0
# ブラウザでアクセスして何か起動してるか確認
http://< Host name or IP Address >:3000
# WEBrickを落とす
ctrl + c