前天遷移了一個老系統(tǒng),用的mysql是4.0要遷移到5.0的環(huán)境下,發(fā)現(xiàn)了一個問題,在password()函數(shù)上發(fā)生錯誤,查一查原來password()函數(shù)在mysql5.0已經(jīng)發(fā)生了變換
在mysql4.0下
mysql> select password('abc');
+------------------+
| password('abc') |
+------------------+
| 7cd2b5942be28759 |
+------------------+
而在mysql5.0下
select password('abc');
+-------------------------------------------+
| password('abc') |
+-------------------------------------------+
| *0D3CED9BEC10A777AEC23CCC353A8C08A633045E |
+-------------------------------------------+
經(jīng)查資料,在mysql5.0下使用old_passord()函數(shù)就可以得到與4.0一樣的效果
select old_password('abc');
+---------------------+
| old_password('abc') |
+---------------------+
| 7cd2b5942be28759 |
+---------------------+
但只要需要改動到程序,再進(jìn)行查資料
兩個函數(shù)都可以用password() 函數(shù)調(diào)用,
控制開關(guān)由/etc/mysql/my.cnf中的old_passwords變量設(shè)定:
設(shè)置為“0” ,調(diào)用新的password函數(shù),
設(shè)置為”1″,就調(diào)用舊的password函數(shù)。
問題最終解決,不用修改程序
----------------------------------------
陳于喆
Mail: chenyz@corp.netease.com