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,
自分メモ
telnet localhost 3306
mysql -u root -proot -h 127.0.01 -P 3306 MyDB