当我通过phpMyAdmin 3.2.2.1实例的web界面运行查询SELECT PASSWORD('demo11') FROM mytable
时,它会给出结果
PASSWORD('demo11')
*C85514894FD44DF933FC33F84DCB047C884A7095.
当我通过MySQL CLI在同一台机器上运行相同的查询时,我得到了
+-------------------------------------------+
| PASSWORD('demo11') |
+-------------------------------------------+
| *41BDDCB1E7FDB4CC929E949E0F5A5FBDB57E4EEA |
+-------------------------------------------+
1 row in set (0.00 sec)
phpMyAdmin在运行之前是否会转换查询?
这绝对是PMA / MySQL组合问题,因为不同机器上的相同PMA(3.2.2.1)(从同一AWS映像创建)返回"正确"结果(* 41BDDCB1E7FDB4CC929E949E0F5A5FBDB57E4EEA)。
作为提示:前段时间我在有问题的数据库上运行了mysqlrepair。
答案 0 :(得分:0)
问题解决了。 phpMyAdmin提交的内容如下:
SET CHARACTER SET 'utf8';
SET collation_connection = 'utf32_unicode_ci';
SELECT PASSWORD('demo11') FROM mytable;
当我省略整理设置或设置utf8_unicode_ci时,查询返回正确的值。