MySQLの認証方式を紹介していきます。
8.0ではデフォルトの認証方式となります。
CREATE USER junpeko@localhost IDENTIFIED WITH cacheing_sha2_password BY 'abcdeF1$';デフォルト設定のままの場合、WITH cacheing_sha2_passwordは指定しなくても問題ありません。
5.7まではデフォルトの認証方式でした。
CREATE USER takuya@localhost IDENTIFIED WITH mysql_native_password BY 'abcdeF1$';Laravelはこれにしないとマイグレーションで失敗しますね。
auth_socketを使用すると、OSのユーザー名と同じ名前のMySQLアカウントでパスワードを
入力せずにログインできます。
例えばvpsuserというOSの一般ユーザーがある場合にMySQLで以下の様にユーザーを作成したとします。
INSTALL PLUGIN auth_socket SONAME 'auth_socket.so';
CREATE USER vpsuser@localhost IDENTIFIED WITH auth_socket;この場合に、vpsuserからは、
パスワードもホスト名も指定することなしに、mysqlにログイン出来る様になります。
※ UNIXソケットを使用した接続でのみ有効なので、
mysqldとクライアントが同じサーバー内でのみ接続できます。
SELECT user, host, plugin from mysql.user;