PASSWORD()
升级到 MySQL 4.1 或更高版本可能会导致用于为自己的目的生成密码的
应用程序出现兼容性问题
。应用程序真的不应该这样做,因为PASSWORD()
应该只用于管理 MySQL 帐户的密码。但无论如何,有些应用程序会PASSWORD()
出于自己的目的使用它们。
如果您从 4.1 之前的 MySQL 版本升级到 4.1 或更高版本,并在生成长密码哈希的条件下运行服务器,则使用
PASSWORD()
其自己的密码的应用程序会中断。在这种情况下,建议的操作过程是修改应用程序以使用另一个函数(例如
SHA2()
、
SHA1()
或
MD5()
)来生成散列值。如果那不可能,您可以使用该
OLD_PASSWORD()
函数,该函数用于以旧格式生成短散列。但是,您应该注意,
OLD_PASSWORD()
可能有一天不再受支持。
如果服务器正在运行
old_passwords=1
,它会生成短哈希值,OLD_PASSWORD()
相当于PASSWORD()
.
将 MySQL 数据库从 4.0 或更低版本迁移到 4.1 或更高版本的 PHP 程序员应该看到 MySQL 和 PHP。