laravelプロジェクトでデータベース構築
- 概要:laravelのプロジェクトでデータベースを作成して、権限を与えてあげるまで
mysqlに接続
terminalから以下で接続できます。
接続されると mysql>
となり、待機状態になります。
bash
$mysql -uroot
laravelのenvファイルに設定を記入する
laravelの環境設定ファイルがenvファイルです。こちらにdbの接続情報を記入します。
.env
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=dbuser
DB_USERNAME=dbuser@localhost
DB_PASSWORD=dbpassword
データベースの作成
mysql>create database dbuser;
データベースが作成されたか確認
以下のコマンドを入力すると一覧が確認できる
mysql>show databases;
データベースに権限を与える
データベースユーザー作成とアクセス権限付与します。
mysql>GRANT ALL PRIVILEGES ON dbname.* TO dbuser@'localhost' IDENTIFIED BY 'dbpassword';
既に、ユーザーを作成している場合などは上記の作成を分けることもできます。
(データベースユーザー作成)
mysql> CREATE USER dbuser@localhost IDENTIFIED BY 'dbpassword';
(データベースに対するユーザーのアクセス権限付与)
mysql> GRANT ALL PRIVILEGES ON dbname.* TO dbuser@'localhost';
既にユーザーが存在している場合はもう一度作成するとエラーになる
例えば次のようにUser rootで Host localhostののユーザーが既に存在していると、もう一度作るとエラーになる。
mysql> create user root@'localhost' identified by 'root';
ERROR 1396 (HY000): Operation CREATE USER failed for 'root'@'localhost'
ユーザーをdropで削除してもう一度作り直せば大丈夫。