Introduction
Homebrewを使ってインストールします。
Homebrewがインストールされていなければターミナルから以下を実行する。
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
インストール実行
インストール実行
$ brew update
$ brew install mysql
インストール確認
$ brew info mysql
mysql: stable 8.0.19 (bottled)
Open source relational database management system
-- 以下略
インストールできたのでサーバを起動します。
$ mysql.server start
Starting MySQL
. SUCCESS!
接続してみます。初期接続時はパスワードなしでできます。
$ mysql -uroot
mysql>
なんとなくテーブル一覧を表示してみます。
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.01 sec)
ネットを見ていると、ここでrootにパスワードを設定するみたいなのが多いけど、ローカル環境なので無視。僕の場合、パスワードを忘れるリスクの方が高い(汗
データベースを作る
ここでは「mycms」という名前のデータベースを作ります。
mysql> create databese mycms;
Query OK, 1 row affected (0.01 sec)
mycms用のユーザーを作ります
ユーザー名:cmsuser
パスワード:password
mysql> create user cmsuser@localhost identified by 'password';
Query OK, 1 row affected (0.01 sec)
作ったユーザーに権限を付与します。とりあえず何でもできる権限。
mysql> GRANT ALL PRIVILEGES ON mycms.* TO cmsuser@localhost;
Laravelで使う設定
MySQL8.0からパスワードの形式が「caching_sha2_password」となっています。
Laravelから接続できない場合は設定を変える必要があります。
とりあえず確認
mysql> SELECT user, host, plugin FROM mysql.user;
+------------------+-----------+-----------------------+
| user | host | plugin |
+------------------+-----------+-----------------------+
| cmsuser | localhost | caching_sha2_password |
| mysql.infoschema | localhost | caching_sha2_password |
| mysql.session | localhost | caching_sha2_password |
| mysql.sys | localhost | caching_sha2_password |
| root | localhost | caching_sha2_password |
+------------------+-----------+-----------------------+
5 rows in set (0.00 sec)
「mysql_native_password」に認証を変更
mysql> alter user cmsuser@localhost identified with mysql_native_password by 'password';
変更確認
mysql> SELECT user, host, plugin FROM mysql.user;
+------------------+-----------+-----------------------+
| user | host | plugin |
+------------------+-----------+-----------------------+
| cmsuser | localhost | mysql_native_password |
| mysql.infoschema | localhost | caching_sha2_password |
| mysql.session | localhost | caching_sha2_password |
| mysql.sys | localhost | caching_sha2_password |
| root | localhost | caching_sha2_password |
+------------------+-----------+-----------------------+
5 rows in set (0.00 sec)