我在mysql server5.0中有很多用户(特权)。我想把它们都转移到新的MySQL服务器5.5中。但是密码是旧格式的(在mysql
.user
表中)。所以我想把所有的旧密码转换成新的格式。
有没有什么方法可以在不更改MySQL密码的情况下传输和升级它们?
发布于 2014-06-12 07:57:33
假设您知道密码,您可以
set password = password('samepasswordasbefore');
在服务器或会话的old_passwords设置为off之后。
set old_passwords = 'OFF';
或
set [session] old_passwords = 'OFF';
服务器不关心/不知道它是与以前相同的密码。
因此,运行软件没有风险,但是从安全的角度来看,您应该更改密码,因为旧的密码可能已经被攻破。当然,强制它们定期更改会更好,在这种情况下,您可以将old_passwords设置为关闭并等待。
批量设置密码不会那么容易,但是如果old_passwords已经关闭了一段时间,那么应该只有几个帐户在user中具有旧的短散列。您至少可以将未更新的用户标识为user表中散列较短的那些。
https://stackoverflow.com/questions/8655997
复制相似问题