【備忘録】MySQL2のインストール(on Mac)、Railsでの設定
外部プロジェクトクローンしてきて
$ bundle install --path vender/bundle
としたけど怒られた。そういえばまだシステムにMySQLをインストールしてなかったので。
環境はMac(Yosemite)です。
$ brew update $ brew install mysql ==> Downloading https://homebrew.bintray.com/bottles/mysql-5.6.24.yosemite.bottl ######################################################################## 100.0% ==> Pouring mysql-5.6.24.yosemite.bottle.tar.gz ==> Caveats A "/etc/my.cnf" from another install may interfere with a Homebrew-built server starting up correctly. To connect: mysql -uroot To have launchd start mysql at login: ln -sfv /usr/local/opt/mysql/*.plist ~/Library/LaunchAgents Then to load mysql now: launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist Or, if you don't want/need launchctl, you can just run: mysql.server start
インストール時に表示されるメッセージは
$ brew info mysql
で確認できる。
ログインにラウンチするわけでもないので普通に
$ mysql.server start
でスタートさせる。
$ mysql -uroot
で入る。(パスワード設定しているならmysql -uroot -p
)
mysql> select Host, User, Password from mysql.user;
でホスト名、ユーザー名、パスワードなどを確認できる。
MySQLのユーザー作成
root
以外にユーザー作成しておく。一応。
(root権限で入った上で)
mysql> CREATE USER -> 'USERID'@'DATABASE_development' identified by 'PASSWORD', -> 'USERID'@'DATABASE__test' identified by 'PASSWORD';
(7/7)
上記でDATABASE__test
とアンダースコアを2つも入れていたw
後述の$ ./bin/rake db:create RAILS_ENV=test
でのエラーはそれが原因?
いかんせん時間が経っているのでよくわからんです・・・。
database.ymlの設定
default: &default adapter: mysql2 encoding: utf8 pool: 5 username: USERID password: YOURPASSWORD socket: /tmp/mysql.sock development: <<: *default database: DATABASE_development test: <<: *default database: DATABASE__test production: <<: *default database: DATABASE__production username: productionで使用するUSERID password: <%= ENV['ウンタラカンタラ_DATABASE_PASSWORD'] %> # productionで使用
Databaseの初期化
$ ./bin/rake db:create $ ./bin/rake db:create RAILS_ENV=test
しかし$ ./bin/rake db:create RAILS_ENV=test
でlocalhostからの接続がAccess Deniedされました。
database.yml
に記述した内容に間違いはないので、権限を与えます。
mysql> show grants for 'USERID'@'localhost'; # 確認 mysql> grant all on DATABASE_test.* to 'USERID'@'localhost';
その後マイグレーション。
$ ./bin/rake db:migrate $ ./bin/rake db:migrate RAILS_ENV=test
参考記事:
OSX - Mac へ MySQL を Homebrew でインストールする手順 - Qiita
HomebrewでMySQLをインストールする時に知っておきたいこと | Macとかの雑記帳
ユーザーの作成(CREATE USER文) - ユーザーの作成 - MySQLの使い方
Ruby on RailsでMySQLを使用する際に必要な作業手順
データベースとの接続(MySQL編) - Rails本番環境構築ガイド - Ruby on Rails with OIAX
データベースとの接続(MySQL編) - Rails本番環境構築ガイド - Ruby on Rails with OIAX