zoukankan      html  css  js  c++  java
  • 新版Mysql密码算法不同导致“Client does not support authentication protocol requested by server”错误

    MySql4.1.7密码算法不同,你可以做如下选择:
    1)使用PHP5,用php_mysqli.dll,而不是以前的php_mysql.dll
    2)将MySql的密码改用原来的那套算法(本文介绍) 


    以前一直用Mysql 3.23.44,PHP5正式发布后,喜欢尝鲜的我忍不住了,用了几天PHP5,才感觉我的Mysql太弱,于是乎升级我的Mysql,心一横,最新的Mysql 5.0.1,嘿嘿,不信数据库弱。

    安装很顺利,登录到mysql

    G:\Mysql\bin>mysql -uroot

    mysql>......

    然后删除一些不用的帐号,只留下了一个root帐号。

    更新root密码:

    mysql>update user set password=password('password') where host='localhost' and user='root';

    成功!

    退出并重新启动Mysql服务。

    接下来配置phpMyadmin的Config.inc.php

    修改Mysql用户名、密码

    打开phpMyadmin,登录:

    结果很意外竟然弹出错误信息:

    Client does not support authentication protocol requested by server;

    意思好像是需要我升级客户端,我彻底失望了,我以为Mysql 5.0.1也和3.23.44一样好安装。

    后来,我用Google搜索错误信息中的部分内容,搜索到了Mysql的官方网站,一看,明白了,原来是password算法的问题,因为5.0.1版Mysql的password算法和3.23.44的算法不一样了

    (原文地址:http://dev.mysql.com/doc/mysql/en/Old_client.html

    采取官方网站的解决办法,一次搞定,嘿嘿

    mysql>SET PASSWORD FOR
             >'root'@'localhost' = OLD_PASSWORD('newpassword');

    写此文章,仅希望有同样问题的朋友能尽快解决此问题。


    今天又用一种方法更改了密码,因为现在才知道以前的命令用错了,old-password要直接输入才对!
    今天的方法是,update mysql.user set password = old_password('newpwd')
    where host = 'localhost' and user = 'root';
    然后flush priviledges;
    ok,重新登陆,搞定!

  • 相关阅读:
    C# 批量图片合并工具(附源代码)
    C# 封装
    SQL语句基础
    c# My计算器源码
    炸酱面
    烧茄子
    Linux Desktop Entry 文件深入解析
    硬盘安装ubuntu
    使用C语言进行面向对象的开发--GObject入门[2]
    GObject对象系统 (1)
  • 原文地址:https://www.cnblogs.com/huqingyu/p/74989.html
Copyright © 2011-2022 走看看