【Laravel】ラズパイのDBと連携させる


ラズパイ側の操作とLravel側の操作に分けて解説していく。

DBでのユーザの作成と権限付与は別々でやる

ラズパイ側の操作

DB操作用ユーザ作成

 CREATE USER 'user'@'%' IDENTIFIED BY 'pass';

%を使用することでどんなホストでも接続ができる

権限確認

登録されているユーザ名を確認

select user,host from mysql.user;

特定ユーザの権限確認

show grants for 'ユーザ名'@'ホスト名';

ユーザ名とホスト名は'"で囲むこと

権限付与

形式
GRANT [権限] ON [レベル] TO [ユーザ] IDENTIFIED BY PASSWORD '[パスワード]'
権限は
  • select
  • update
  • insert
  • delete
  • all
レベル 説明
GRANT [権限] ON *.* TO [ユーザ] グローバルレベル
GRANT [権限] ON [DB名].* TO [ユーザ] データベースレベル
GRANT [権限] ON [DB名].[テーブル名] TO [ユーザ] テーブルレベル
GRANT [権限](カラム1,カラム2,...) ON [DB名].[テーブル名] TO [ユーザ] カラムレベル

ポートの確認

show variables like 'port';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| port          | 3306  |
+---------------+-------+

Laravel側の操作

後は今まで得た情報を.envdatabase.phpに反映するだけ
ここでは.envだけ書いておく

.env
DB_CONNECTION=mysql
DB_HOST=IPアドレス
DB_PORT=3306
DB_DATABASE=DB名
DB_USERNAME=作成したユーザ名
DB_PASSWORD=パスワード

参考