ホームページ >データベース >mysql チュートリアル >MySQL の「mysqlnd は古い認証を使用して MySQL 4.1 に接続できません」エラーを修正する方法?
非推奨の認証による MySQL 接続の問題の解決
bluesql.net などのプラットフォームでホストされている MySQL データベースに接続しようとすると、ユーザーは次のような問題に遭遇する可能性があります。 「接続エラー (2000) mysqlnd は古いバージョンを使用して MySQL 4.1 に接続できません」認証」エラーが発生しました。このエラーは、古い MySQL バージョンと新しいバージョンの両方のパスワード スキーマのサポートを提供する、古いバージョンと新しいバージョンで使用される認証プロトコル間の相違が原因で発生します。
この問題をトラブルシューティングするには、サーバーが認証プロトコルに準拠しているかどうかを確認することが重要です。デフォルトで古いパスワード スキーマを使用するように構成されています。これは、SQL クエリ「SHOW VARIABLES LIKE 'old_passwords';」を実行することで確認できます。コマンドラインから、または GUI ベースの MySQL 管理ツールを使用して。クエリが「old_passwords,Off」を返した場合、既存のユーザー アカウントは古いパスワードを使用している可能性があります。
どの認証ルーチンが使用されるかは、「mysql.user」テーブルを調べることで確認できます。古いパスワードを持つアカウントのパスワードの長さは「16」ですが、新しいパスワードを持つアカウントのパスワードの長さは「41」です。新しいパスワードを設定するには、「SET PASSWORD FOR 'User'@'Host'=PASSWORD('yourpassword');」を使用します。クエリを作成し、「User」と「Host」を前のクエリから取得した値に置き換えます。
パスワードが更新されたら、「FLUSH Privileges;」を実行します。クエリ。同じ「mysql.user」テーブル クエリを再度使用してパスワードの長さを確認します。今は「41」になっているはずです。この変更により、mysqlnd を使用するクライアントが MySQL サーバーに正常に接続できるようになります。
詳細については、次のリンクにある MySQL の公式ドキュメントを参照してください。
以上がMySQL の「mysqlnd は古い認証を使用して MySQL 4.1 に接続できません」エラーを修正する方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。