sql >> データベース >  >> RDS >> Mysql

古い認証を使用してMySQL4.1以降に接続できません

    編集:これは、MySQLサーバーを制御している場合にのみ適用されます... MySQLパスワードハッシュ方式の新旧

    最初にSQLクエリで確認します

    SHOW VARIABLES LIKE 'old_passwords'
    

    (MySQLコマンドラインクライアントでは、 HeidiSQL または任意のフロントエンド)サーバーがデフォルトで古いパスワードスキーマを使用するように設定されているかどうか。これがold_passwords,Offを返す場合 userに古いパスワードエントリがあるだけです テーブル。 MySQLサーバーは、これらのアカウントに古い認証ルーチンを使用します。アカウントに新しいパスワードを設定するだけで、新しいルーチンが使用されます。

    mysql.userを見ると、どのルーチンが使用されるかを確認できます。 テーブル(そのテーブルにアクセスできるアカウントを使用)

    SELECT `User`, `Host`, Length(`Password`) FROM mysql.user
    

    これにより、 16が返されます 古いパスワードと41のアカウントの場合 新しいパスワードを持つアカウントの場合(パスワードがまったくないアカウントの場合は0)、それらも処理することをお勧めします。
    MySQLフロントエンドのユーザー管理ツール(ある場合)を使用するか、

    SET PASSWORD FOR 'User'@'Host'=PASSWORD('yourpassword');
    FLUSH Privileges;
    

    Userを置き換えます およびHost 前のクエリから取得した値を使用します。)次に、パスワードの長さをもう一度確認します。 41である必要があります これで、クライアント(mysqlndなど)がサーバーに接続できるようになります。

    MySQLのドキュメントも参照してください:* http://dev。 mysql.com/doc/refman/5.0/en/old-client.html
    * http://dev.mysql。 com / doc / refman / 5.0 / en / password-hashing.html
    * http://dev.mysql。 com / doc / refman / 5.0 / en / set-password.html



    1. データベースを圧縮して実行速度を上げる方法

    2. phpMyAdminを使用してデータベースをエクスポートする方法

    3. Laravelからストアドプロシージャを実行する方法

    4. MicrosoftIgniteセッションレコーディングが表示できるようになりました。