CakePHP3でMAMPのMySQLに接続できなかったけど解決

CakePHPを使って作りたいWebサービスがあり、せっかくなので3の勉強がてらCakePHP3ビギナーズガイドを読みながら取り組むことにしました。

しかし、しょっぱなのMySQLへの接続でつまずいてしまいました。自力では解決できそうになかったので、本日、コワーキングスペース茅場町 Co-Edoにて、小林慧一さんに相談したところ無事に解決しました。この記事はその記録です。

原因

いつもはMAMPを利用してローカル環境で開発していたので、MySQLもMAMP環境を利用することにしました。

で、app.phpというファイルのDATABASE設定の部分について、テーブル名、username、パスワードなどを記載しても、うまく接続できません。

結局、hostのところをlocalhostにしていたのですが、

'host' => 'localhost',
'port' => 3306,

ターミナルから
mysql -u root -proot

とすると、次のエラーが発生。

Warning: Using a password on the command line interface can be insecure.
ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (2)

で、これを、127.0.0.1にすることで、無事にDBに接続することができました。

'host' => '127.0.0.1',
'port' => 3306,

CakePHP the rapid development PHP framework

自分メモ

telnet localhost 3306
mysql -u root -proot -h 127.0.01 -P 3306 MyDB