MySQL从3.2升级到5.0后,发现用户登录失败,经检查,发现是MySQL5.0的PASSWORD()函数和旧版的MySQL不一样。
MySQL5.0 前的版本中,PASSWORD加密后是一个长度为16位的字符串,而在MySQL5.0中,PASSWORD加密后的密码是一个长度为41位的字符串。为了兼容旧版,MySQL5中提供了一个OLD_PASSWORD()函数,和旧版的PASSWORD()函数一样。
解决方法:
修改SQL语句,用OLD_PASSWORD替换PASSWORD
网上有一种修改MySQL配置的方法,可以避免修改程序,但是我没有成功,在我的/etc/my.cnf中没有找到old_passwords项


![]() ![]() |