ホームページ >バックエンド開発 >PHPの問題 >php が mysql エラー 13 に接続した場合の対処方法

php が mysql エラー 13 に接続した場合の対処方法

PHPz
PHPzオリジナル
2023-03-31 10:08:431395ブラウズ

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 に変更する必要があります。

この方法を使用する場合は、セキュリティを確保するためにファイアウォールを適切に構成する必要があることに注意してください。

バインド アドレスを変更する手順は次のとおりです。

    次のコマンドを使用して構成ファイルを開きます。
  1. sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
    検索ファイルキーワードのbind-addressを次のように変更します:
  1. bind-address = 0.0.0.0
    ファイルを保存して閉じ、MySQLサービスを再起動します:
  1. sudo systemctl restart mysql
これらは次のとおりです。 PHP 接続の MySQL エラーを解決する手順 13. いくつかの一般的な方法。上記の方法を試しても問題が解決できない場合は、PHP と MySQL のバージョンに互換性があるかどうかを確認する必要があります。

この記事がお役に立てば幸いです!

以上がphp が mysql エラー 13 に接続した場合の対処方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。