編集:これは、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