`
liusu
  • 浏览: 170030 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

MySQL 版本迁移带来的PASSWORD()函数使用的问题

    博客分类:
  • Java
阅读更多

网上看到个有趣的问题。一个很简单的php demo,使用Mysql做后台数据库。重新部署到一个机器上,导入数据到新得MYSQL服务器。结果原来可以正常登陆的用户名和密码都不能用了。

密码存入的时候使用的是PASSWORD()函数。问题就出在这个PASSWORD函数。从5。1开始,MYSQL对PASSWORD函数做了改变,结果的字长需要最少41bytes。而早版本中的PASSWORD()字长只要16byte。所以user表的schema设计一般都是给了不到41字长得。到新版本中,PASSWORD()得结果就给截断了。然后通过

select user_id from user_table where user_name='$user_name' user_password=PASSWORD('$password')



这个查询语句,肯定查不到正确的值,存在table中的password已经短了一大截了。

更详细的请看 MySQL官方手册关于PASSWORD()函数变迁

 

0
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics