📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)

122行目: 122行目:


== MySQLユーザの作成 ==
== MySQLユーザの作成 ==
rootユーザでデータベースを操作するわけにはいかないので、ユーザを作成する。<br>
一般的に、rootユーザでデータベースを操作しないため、データベースユーザを作成する。<br>
まず、MySQLにログインする。<br>
まず、MySQLにログインする。<br>
  sudo mysql -p
  sudo mysql -p
146行目: 146行目:
<br>
<br>
<u>※注意</u><br>
<u>※注意</u><br>
<u>PHPからMySQL8に接続する場合、以下のエラーが出力されることがある。</u><br>
<u>PHP7からMySQL8以降に接続する場合、以下のエラーが出力されることがある。</u><br>
  Warning: PDO::__construct(): The server requested authentication method unknown to the client [caching_sha2_password]
  Warning: PDO::__construct(): The server requested authentication method unknown to the client [caching_sha2_password]
<br>
<br>
<u>これは、データベースユーザの認証プラグインが<code>caching_sha2_password</code>であることが原因である。</u><br>
<u>これは、MySQL8以降、データベースユーザの認証プラグインが<code>caching_sha2_password</code>に変更されたが、</u><br>
<u>PHP7では、<code>caching_sha2_password</code>が未サポートであることが原因である。</u><br>
<u>そのため、データベースユーザの認証プラグインを<code>mysql_native_password</code>に変更することが必要となる。</u><br>
<br>
<u>まず、MySQL8に接続して、認証プラグインを確認する。</u><br>
<u>まず、MySQL8に接続して、認証プラグインを確認する。</u><br>
  mysql> SELECT User, Host, Plugin FROM mysql.user;
  mysql> SELECT User, Host, Plugin FROM mysql.user;