如何在Mysql 4.1中关闭旧密码

时间:2009-11-29 14:06:11

标签: mysql passwords

我很难将MySQL 4.1数据库从旧的16字节密码哈希迁移到新的41字节哈希值。问题是,mysqld服务器自动以“old-passwords = on”指令启动,该指令将新密码设置为41字节长度。

我的问题:有没有人知道如何在没有“old-passwords = on”指令的情况下告诉mysqld运行?我尝试了my.ini,commmandline,在本地设置变量,但没有任何效果。

非常感谢! 菲利普

1 个答案:

答案 0 :(得分:1)

要检查的第一件事是mysql数据库中userPassword字段的宽度。在4.1之前,这是16个字符宽。升级到4.1时,宽度应该已通过提供的mysql_upgrade实用程序更改为41个字符。如果由于某种原因错过了该步骤,则服务器将默认使用旧的16字节哈希值,这是您描述的行为。

MySQL文档中有write up

如果您发现您的表确实需要从char(16)更新为char(41)并且您具有mysql_update实用程序,请运行该实例以完成升级。或者(进行备份然后你可以)使用以下方法手动更新:

ALTER TABLE user
MODIFY Password char(41) character set latin1 collate latin1_bin NOT NULL default ''