リモート MySQL 接続中の不明な認証方法
ローカル マシンから MySQL サーバーにリモート接続しようとすると、「不明な認証方法」 」エラーが発生する可能性があります。このエラーは通常、ローカルとリモートの MySQL サーバーで使用されるパスワード ハッシュ形式間の非互換性を示します。
原因:
PHP 5.3 以降のバージョンでは、mysqlnd ライブラリが使用されます。そのため、MySQL 4.1 の 41 バイトのパスワード形式を使用する必要があります。ただし、リモート MySQL サーバーが古い 16 バイトのパスワード形式を使用している場合、接続は「不明な認証方法」エラーで失敗します。
解決策:
この問題を解決するには、次の手順を実行します。
コード サンプル:
次のコード スニペットは、認証エラーの処理方法を示しています。
try { $online_dbh = new PDO($dsn, 'myusername', 'mypassword', $options); $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); echo "Congratulations!"; } catch (PDOException $e) { if ($e->getCode() === 2054) { // Handle the "unknown authentication method" error } else { // Handle other errors } }
これらの解決策のいずれかを実装すると、接続できるようになります。 「不明な認証方法」エラーが発生することなく、リモートから MySQL サーバーに接続できます。
以上がMySQL にリモート接続すると「不明な認証方法」エラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。