AWS EC2へCapistrano自動デプロイの環境を整えていたらエラーが起きた
Capistranoによる自動デプロイが完了し、S3をローカルで紐付けする前に
「あっ、そうだ その前にローカルで正常に動くかどうか確認しなきゃ」
ということでやってみたら案の定エラーが、、、
やったこと
まあとにかくsocketの記述がおかしいんでしょ?と思い config/database.yml を確認
config/database.yml
default: &default
adapter: mysql2
encoding: utf8
pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
username: root
password: ~~~~~~
socket: /tmp/mysql.sock
おかしいところはないんだけどなー?
mysqlに接続できるか確認
mysql -u root
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
できないじゃんww
##rootユーザーのPW設定をなくす
###MySQLの停止
$ mysql.server stop
###MySQLにログイン
$ mysql -uroot -p
>Enter password: #現在のPWを入力
###PWを空(’’)に設定する
mysql> use mysql
mysql> update user set password='' where User='root';
mysql> flush privileges;
###MySQLの起動
$ mysql.server start
###ローカルサーバーの再起動
$ rails s
#Mysql2::Error::ConnectionError (Access denied for user 'root'@'localhost' (using password: YES)):ってエラー出た
もしやと思いconfig/database.yml のpasswordをコメントアウト!
config/database.yml
default: &default
adapter: mysql2
encoding: utf8
pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
username: root
#password: ~~~~~~
socket: /tmp/mysql.sock
すると無事に開くことができました。