我在mysql服务器5.0中有很多用户(特权).
我想将所有这些都转移到新的MySQL服务器5.5中.但是密码是旧格式的(在mysql.user表中).因此,我想将所有旧密码转换为新格式.
有什么方法可以在不更改密码的情况下转移和升级MySQL密码?
解决方法:
假设您知道密码,就可以
set password = password('samepasswordasbefore');
在服务器或会话的old_passwords设置为off之后.
set old_passwords = 'OFF';
要么
set [session] old_passwords = 'OFF';
服务器不在乎/知道与以前的密码相同.
因此,尽管从安全角度考虑,您应该更改密码,因为旧的密码可能已被破坏,因此没有运行软件的风险.当然,最好强迫它们定期更改,在这种情况下,您可以将old_passwords设置为OFF并等待.
批量设置密码并不是一件容易的事,但是如果old_passwords处于关闭状态已有一段时间,那么用户中只有几个带有旧短哈希的帐户.您至少可以将尚未更新的那些标识为在用户表中具有较短哈希值的那些.