ホームページ > バックエンド開発 > PHPチュートリアル > MySQL 4.1 データベースに接続できないのはなぜですか?

MySQL 4.1 データベースに接続できないのはなぜですか?

Patricia Arquette
リリース: 2024-11-03 18:24:03
オリジナル
1005 人が閲覧しました

Why Can't I Connect to My MySQL 4.1  Database?

MySQL 4.1 に接続する際の認証の問題の解決

bluesql.net でホストされている MySQL データベースに接続しようとすると、エラーが発生する場合がありますmysqlnd が古い認証を使用して接続できないことを示します。このエラーは、MySQL バージョン 4.1 以降で古いパスワード スキームが廃止されたことが原因で発生します。新しいバージョンでは下位互換性が確保されていますが、接続の問題が発生する場合があります。

この問題に対処するには、次のクエリを実行して、サーバーが古いパスワード スキーマを使用するように設定されているかどうかを確認できます。

SHOW VARIABLES LIKE 'old_passwords';
ログイン後にコピー

old_passwords,Off が返された場合は、ユーザー テーブル内の古いパスワード エントリに問題がある可能性があることを意味します。サーバーは、これらのアカウントに対してデフォルトで古い認証ルーチンを使用します。これを解決するには、新しいパスワードを設定する必要があります。これにより、新しいルーチンの導入がトリガーされます。

特定のアカウントで使用される認証ルーチンを確認するには、mysql.user テーブルをクエリします。

SELECT `User`, `Host`, Length(`Password`) FROM mysql.user;
ログイン後にコピー

このクエリはパスワードの長さを返します。長さ 16 は古いパスワードを示し、41 は新しいパスワードを表します。

パスワードが古い場合は、MySQL 管理ツールを使用するか、次のクエリを実行して更新できます。

SET PASSWORD FOR 'User'@'Host'=PASSWORD('yourpassword');
FLUSH Privileges;
ログイン後にコピー

User と Host を前のクエリから取得した値に置き換えてください。このクエリを実行した後、パスワードの長さを再度確認してください。これで 41 になり、クライアントが正常に接続できるようになります。

以上がMySQL 4.1 データベースに接続できないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート