CakePHPのデーターベース設定

/

導入

前回Vagrant上にCakePHPをインストールしましたが、データベースの設定がまだでしたので今回MySQLの設定をしていきます。

01

環境

CentOS 7.2
CakePHP 3.3
MariaDB 10.1.18

VagrantにCakePHP ver3.3をインストールする/koltatt
2016年10月26日 RDBMSとしてMariaDBをインストールする(CentOS7.2 | ubuntu16.04)/koltatt

データーベース

CakePHP3.3は以下のデーターベースに対応していますが、今回はMySQL(MariaDB)を使用しています。

  • MySQL (5.1.10 or greater)
  • PostgreSQL
  • Microsoft SQL Server (2008 or higher)
  • SQLite 3

RDBMSとしてMariaDBをインストールする(CentOS7.2 | ubuntu16.04)/Koltatt

MySQL

データーベースにrootでログイン

$ mysql -u root -p

ユーザーの作成

USER CREATE 'cake_user'@'localhost';

パスワードの設定

SET PASSWARD FOR cake_user@localhost = PASSWORD(' [password] ');

テーブルの作成

CREATE DATABASE cake_db;

権限付与

GRANT ALL ON cake_db.* TO cake_user@localhost IDENTIFIED BY [password];

CakePHPの設定

MySQLの準備が整ったのでCakePHPの設定ファイルを編集していきます。
CakePHP3.3で使用するデータベースの設定はCakePHPのディレクトリ内のconfig/app.phpの230行あたりにあるDatasourcesの項目で指定します。

$ vi config/app.php

デフォルトでは以下のようになっている箇所を、それぞれ先ほど作成したデータベースのものに変更します。

  • ‘username’ => ‘myapp’
  • ‘password’ => ‘secret’
  • ‘database’ => ‘myapp’
'Datasources' => [
  'default' => [
    'className' => 'Cake\Database\Connection',
    'driver' => 'Cake\Database\Driver\Mysql',
    'persistent' => false,
    'host' => 'localhost',
    'username' => 'cake_user',
    'password' => '[ password ]',
    'database' => 'cake_db',
    'encoding' => 'utf8',
    'timezone' => 'UTC',
    'cacheMetadata' => true,
  ],
],

設定ファイルを保存したあとブラウザからCakePHPで作成したアプリケーションに接続するとデータベースに接続出来ているのが確認出来ます。

02

参照

http://book.cakephp.org/3.0/ja/quickstart.html