前天迁移了一个老系统,用的mysql是4.0要迁移到5.0的环境下,发现了一个问题,在password()函数上发生错误,查一查原来password()函数在mysql5.0已经发生了变换
在mysql4.0下
mysql> select password('abc');
+------------------+
| password('abc') |
+------------------+
| 7cd2b5942be28759 |
+------------------+
而在mysql5.0下
select password('abc');
+-------------------------------------------+
| password('abc') |
+-------------------------------------------+
| *0D3CED9BEC10A777AEC23CCC353A8C08A633045E |
+-------------------------------------------+
经查资料,在mysql5.0下使用old_passord()函数就可以得到与4.0一样的效果
select old_password('abc');
+---------------------+
| old_password('abc') |
+---------------------+
| 7cd2b5942be28759 |
+---------------------+
但只要需要改动到程序,再进行查资料
两个函数都可以用password() 函数调用,
控制开关由/etc/mysql/my.cnf中的old_passwords变量设定:
设置为“0” ,调用新的password函数,
设置为”1″,就调用旧的password函数。
问题最终解决,不用修改程序
----------------------------------------
陈于喆
Mail: chenyz@corp.netease.com