我在mysql server 5.0中有很多用户(privilages)。 我想将它们全部转移到新的MySQL服务器5.5中。但是密码是旧格式的(在`mysql` .user`表中)。所以我想将所有旧密码转换为新格式。
有没有办法在不更改MySQL密码的情况下转移和升级它们?
答案 0 :(得分:3)
假设您知道密码
set password = password('samepasswordasbefore');
将old_passwords设置为关闭服务器或会话后。
set old_passwords = 'OFF';
或
set [session] old_passwords = 'OFF';
服务器不关心/知道它与以前的密码相同。
因此,运行软件没有风险,但从安全角度来看,您应该更改密码,因为旧密码可能已被泄露。当然,强迫他们定期更改会更好,在这种情况下你可以将old_passwords设置为OFF并等待。
批量设置密码并不容易,但如果old_passwords已关闭一段时间,那么只有少数帐户在用户中有旧的短哈希值。您至少可以将未更新的那些标识为用户表中具有较短哈希的那些。