2011-12-28 62 views
0

我在mysql server 5.0中有很多用户(privilages)。 我想将它们全部转移到新的MySQL服务器5.5中。但密码是旧格式的(在`mysql`.`user`表中)。所以我想将所有旧密码转换为新格式。如何从MySQL旧密码升级到新密码系统

有什么办法可以在不改变它们的情况下传输和升级MySQL密码?

+0

的确我想知道的是mysql旧密码单向编码哈希还是不行? – Mahoor13 2011-12-29 06:16:57

+2

这是一种单向编码散列。 – 2014-01-24 18:18:00

回答

0

假设你知道的密码,您可以

set password = password('samepasswordasbefore'); 
old_passwords后

已被设置为关闭服务器或会话。

set old_passwords = 'OFF'; 

set [session] old_passwords = 'OFF'; 

服务器不在乎/知道它是相同的密码之前。

因此,从安全角度来看,运行软件没有风险,您应该更改密码,因为旧密码可能已被破坏。当然,强迫它们定期更换会更好,在这种情况下,您可以将old_passwords设置为OFF并等待。

做批量设置的密码不会那么容易,但如果old_passwords已关闭一段时间,应该只有一些帐户与旧的短用户散列。您至少可以将未更新的那些标识为用户表中具有较短散列的那些标识。