shell> mysql
Client does not support authentication protocol requested by server;
consider upgrading MySQL client
MySQL 4.1 引入新密碼雜湊演算法 (SHA1 基礎的雙重雜湊),舊版客戶端 (4.0 及之前) 僅支援舊演算法 (單次雜湊),導致認證失敗。
-- 方法 1:SET PASSWORD + OLD_PASSWORD()
SET PASSWORD FOR 'some_user'@'some_host' = OLD_PASSWORD('newpwd');
-- 方法 2:UPDATE + FLUSH PRIVILEGES
UPDATE mysql.user SET Password = OLD_PASSWORD('newpwd')
WHERE User = 'some_user' AND Host = 'some_host';
FLUSH PRIVILEGES;
SELECT User, Host, Password, LENGTH(Password) FROM mysql.user;
-- 舊式:16 字元十六進位
-- 新式:41 字元 (以 * 開頭)