エンジニア学習4か月目に入りましてようやく自作ポートフォリオの設計をし始めたのですが、
その前にrailsのRDBとしてデフォルトのSQliteではなく、MySQLを使うのにとても苦労したのでもし初学者や未経験の方で同じような壁にぶつかっているwindowsユーザーの助けになればと思います!
※ぶっちゃけ最初のプログラミング言語としてrails触るならMacの方が簡単です(笑)
バージョン管理が優秀ですし…。
MySQLのインストール
まずはこのページよりMySQL Community Serverをインストールします。
※インストールする具体的な設定はこちらのサイト「を参考にしました。
次にWindows PowerShellで下記コマンドを打ってパスワードを設定します。
すでに設定済みの場合は、パスワードを入力してください。
mysql -u root -p
そうするとウェルカムメッセージが出るのでexitで終了します。
Welcome to the MySQL monitor. Commands end with ; or \g.
・
・
・
mysql>
ここからデータベースをMySQLから作成することもできますが、railsから作成する方が流れとしてはいいと思います。
今回はあくまでWindowsにおけるrailsの環境構築の一環のため、データベースの作成などは割愛します。
railsでMySQLを使えるように設定する。
まずは、MySQL Connector/Cのインストールが必要になります。
MySQLをインストールするだけではMySQLのgemがインストールされません。
gem mysql2のインストールには、MySQL Connector/Cが必要です。
MySQLの公式ウェブサイト(https://dev.mysql.com/downloads/connector/c/)から、Windows用のMySQL Connector/Cをダウンロードします。
ダウンロードしたファイルを実行し、MySQL Connector/Cをインストールします。
Gemfileにgem 'mysql2'を記載してbundle installする。
これでうまくいく人はそのまま進んでください。
gem 'mysql2'がうまくインストールできない人は下記を試してみてください。
gem install mysql2 -- --with-mysql-dir="C:\MySQLの保存場所" --with-mysql-lib="C:\MySQLライブラリの保存場所"
MySQLとMySQLライブラリの保存場所は各自で保存した場所を指定してください。
原因ははっきりしていないのですが、rubyのインストール場所だったり、ファイルの権限だったり、環境変数の関係で、bundle installだけではインストールできないことがあるので、インストールするファイルのパスを明示的にインストールするコマンドになります。
これでgem 'mysql2'がインストールできたかと思います。
最後に、dabaseyamlファイルをMySQLを指定してください。
development:
adapter: mysql2
encoding: utf8
reconnect: false
database: DB_NAME(環境変数)
pool: 5
username:USERNAME(環境変数)
password:PASSWORD(環境変数)
host: localhost
test:
adapter: mysql2
encoding: utf8
reconnect: false
database: DB_NAME(環境変数)
pool: 5
username:USERNAME(環境変数)
password:PASSWORD(環境変数)
host: localhost
production:
adapter: mysql2
encoding: utf8
reconnect: false
database: DB_NAME(環境変数)
pool: 5
username:USERNAME(環境変数)
password:PASSWORD(環境変数)
host: localhost
これでwindowsでもrailsでMySQLを使えるようになるはずです!
ちなみに自分はMacのPCを注文しました(笑)
会社などで支給されるPCもMac多いので今のうちに慣れておきたい!