php で MySQL に接続するときのエラー 13 の解決策
php を使用して MySQL に接続するときにエラー 13 が発生することがありますので、この記事ではこの問題の解決策をいくつか紹介します。
まず、エラー 13 は MySQL 権限の問題です。これは、ユーザーが MySQL に接続するときに十分な権限を持っていないため、MySQL に接続できないことが原因である可能性があります。この問題を解決するには、MySQL にログインし、ユーザーに十分な権限を付与する必要があります。
この記事では、いくつかの解決策を紹介します。
方法 1: 使用しているユーザーの MySQL 権限を確認する
接続時に PHP で MySQL を使用するMySQL にアクセスするには、MySQL のユーザー名とパスワードを指定する必要があります。デフォルトでは、MySQL は匿名ユーザーの接続を許可しません。したがって、使用する MySQL ユーザーが必要な権限を持っていることを確認する必要があります。
次のコマンドを使用して、使用している MySQL ユーザーの権限を確認できます:
SHOW GRANTS FOR 'username'@'localhost';
ユーザーに十分な権限がない場合は、次のコマンドを使用して権限を付与できます。
GRANT ALL PRIVILEGES ON *.* TO 'username'@'localhost';
これにより、ユーザーにすべてのデータベースとテーブルへの完全なアクセス権が付与されることに注意してください。
方法 2: ファイアウォール設定を確認する
場合によっては、ファイアウォールによって接続エラー 13 が発生することもあります。コンピュータでファイアウォールを実行している場合は、ファイアウォール ルールで MySQL ポート (デフォルトは 3306) が開いていることを確認する必要があります。
次のコマンドを使用して、ポートが開いているかどうかを確認できます:
sudo ufw status
ポートが開いていない場合は、次のコマンドを使用してポートを開きます:
sudo ufw allow 3306/tcp
方法 3: MySQL 構成ファイルのバインド アドレスを変更する
##もう 1 つの要因は、MySQL サーバーの構成ファイルのバインド アドレスです。デフォルトは localhost です。リモート マシンから MySQL に接続する場合は、0.0.0.0 に変更する必要があります。 この方法を使用する場合は、セキュリティを確保するためにファイアウォールを適切に構成する必要があることに注意してください。 バインド アドレスを変更する手順は次のとおりです。sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
bind-address = 0.0.0.0
sudo systemctl restart mysql
以上がphp が mysql エラー 13 に接続した場合の対処方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。