Mysql客户端不支持鉴定协议的解决方法

MySQL 5.1采用了基于密码混编算法的鉴定协议,它与早期客户端(4.1之前)使用的协议不兼容。如 果你将服务器升级到4.1之上,用早期的客户端进行连接可能失败,并给出下述消息:

shell> mysql

客户端不支持服务器请求的鉴定协议:请考虑升级MySQL客户端。

要想解决该问题,应使用下述方法之一:

·升级所有的客户端程序,以使用4.1.1或更新的客户端库。

·用4.1版之前的客户端连接到服务器时,请使用仍具有4.1版之前风格密码的账户。

·对于需要使用4.1版之前的客户端的每位用户,将密码恢复为4.1版之前的风格。可以使用SET PASSWORD语句和OLD_PASSWORD()函数完成该任务:

·mysql> SET PASSWORD FOR
·-> 'some_user'@'some_host' = OLD_PASSWORD('newpwd');
也可以使用UPDATE和FLUSH PRIVILEGES:
mysql> UPDATE mysql.user SET Password = OLD_PASSWORD('newpwd')
-> WHERE Host = 'some_host' AND User = 'some_user';
mysql> FLUSH PRIVILEGES;

用你打算使用的密码替换前例中的“newpwd”。MySQL不能告诉你原来的密码是什么,因此,你需要选 择新的密码。

·通知服务器使用旧的密码混编算法:

1.使用“--old-passwords”选项启动mysqld。

2.对于已将密码更新为较长4.1格式的每个账户,为其指定具有旧格式的密码。可以使用下述查询确定 这些账户:

3.

mysql> SELECT Host, User, Password FROM mysql.user

4.

-> WHERE LENGTH(Password) > 16;

对于查询显示的每个账户记录,请使用Host和User值,并使用OLD_PASSWORD()函数以及SET PASSWORD 或UPDATE之一指定密码,如前面所介绍的那样。

注释:在早期的PHP版本中,mysql扩展不支持MySQL 4.1.1和更高版中的鉴定协议。无论使用的PHP版 本是什么,它均是正确的。如果你打算与MySQL 4.1或更高版本一起使用mysql扩展,需要使用前面介绍的 选项之一,配置MySQL,以便与较早的客户端一起使用。mysqli扩展(支持“改进的MySQL”,在PHP 5中 增加)与MySQL 4.1和更高版本中使用的改进的密码混编算法兼容,不需要对MySQL进行特殊配置就能使用 该MySQL客户端库。

时间: 2024-11-08 19:57:54

Mysql客户端不支持鉴定协议的解决方法的相关文章

MySQL中Union子句不支持order by的解决方法_Mysql

本文实例讲述了MySQL中Union子句不支持order by的解决方法.分享给大家供大家参考,具体如下: 我对DB知之甚少,这问题只在MySQL遇到,不知道别的DBMS是不是也如此. 问题是这样的,我打算在一个表里获得与某一行记录相邻的两行,并且想通过union一起取出来,所以这么写: select id,title from subjects where id>#some_id# order by id limit 1 union select id,title from subjects

MySql 修改密码后的错误快速解决方法_Mysql

设置好密码后,使用数据库时出现如下错误: ERROR 1820 (HY000): You must reset your password using ALTER USER statement befo re executing this statement. You must SET PASSWORD before executing this statement的解决方法 今天在MySql5.6操作时报错:You must SET PASSWORD before executing this

基于bootstrap-datetimepicker.js不支持IE8的快速解决方法_javascript技巧

实例如下: if (!Array.prototype.indexOf) Array.prototype.indexOf = function (elt /*, from*/) { var len = this.length >>> 0; var from = Number(arguments[1]) || 0; from = (from < 0) ? Math.ceil(from) : Math.floor(from); if (from < 0) from += len;

Win7使用金山毒霸提示“安装引擎失败,不支持此接口”的解决方法

很多Win7系统用户在使用金山毒霸的时候,会遇到金山毒霸提示示"安装引擎失败,不支持此接口"的情况.那么,金山毒霸提示安装引擎失败该怎么办呢?下面小编为大家带来Win7使用金山毒霸提示"安装引擎失败,不支持此接口"的解决方法.一起去看看吧! 金山毒霸安装引擎失败 安装金山毒霸时提示"安装引擎失败,不支持此接口",是因为用户的计算机中曾经安装过或是现在安装有AcdSee迷你版这个软件,用户可以将AcdSee迷你版卸载后重新安装AcdSee完整版,之

mysql安装时出现各种常见问题的解决方法_Mysql

小编为大家整理许多mysql安装时出现各种常见问题的解决方法,供大家参考,具体内容如下 问题一: 当各位在安装.重装时出现could not start the service mysql error:0原因: 卸载mysql时并没有完全删除相关文件和服务,需要手动清除. 安装到最后一步execute时不能启动服务的解决方法: 首先,在管理工具->服务里面将MySQL的服务给停止(有的是没有安装成功,有这个服务,但是已经停止了的),win+R->cmd,打开命令提示符窗口,输入命令:sc de

安卓手机安装软件提示“您的设备不支持add-on属性”的解决方法

园子今天使用安卓手机安装游戏时,遇到了提示"您的设备不支持add-on属性"的情况,出现提示后软件就安装不了了.本文分享下使用安卓手机安装软件时出现"您的设备不支持add-on属性"的解决方法. 在网上搜索一番,发现有不少机友也出现了类似情况.出现这种错误提醒大多是因为安装的软件带有运动追踪器.基站定位等功能的软件,主要原因是因为手机中缺少谷歌的服务造成的.使用安卓手机的机友一般比较喜欢刷机,刷的ROM包很多都去掉了谷歌服务套件,部分软件中所带有的类似运动追踪的功能

win7系统安装不了IE8浏览器提示此安装不支持您的操作系统的解决方法图文教程

IE浏览器一直稳定发展,而且每隔一段时间久会推出新的版本,这不有用户说win7装不了ie8浏览器提示"此安装不支持您的操作系统",也这种情况该怎么解决呢?下面小编和大家讲解win7装不了ie8浏览器提示"此安装不支持您的操作系统"的解决方法,一起来看看吧. 解决方法: 1.进入Win7系统后,您同时按下Win7系统键盘上的win+R快捷键打开电脑的运行窗口: 2.在打开的运行窗口中,您输入regedit并单击回车,这样就可以打开Win7系统的注册表编辑器窗口了: 3

vs2010无法打开项目文件,此安装不支持该项目类型解决方法

今天在用vs2010打开一个之前做的Web项目时提示:无法打开项目文件,此安装不支持该项目类型解决方法 网上查了很多资料,都是说:原因是vs2010需要把mvc升到3,默认的vs2010的mvc是2.vs2010 mvc 3 下载地址:http://www.microsoft.com/zh-cn/download/details.aspx?id=4211 但是我的Web项目中根本就没有使用MVC的东西,重新运行安装程序: 发现是当初安装VS2010时为了减少磁盘空间占用,有些东西没有选择安装,结

MySQL数据库死掉以及拒绝服务的解决方法

从Mysql 5.x的某个版本之后,MySQL的自动关闭空闲连接的特性被修改了,假如一个连接空闲到超时时间(默认28000秒8小时),再次发起的Reconnect重新连接请求不会被接受,需要重新建立新连接,这就导致了SER的重连机制不能正常工作:SER只会在需要操作数据库时去使用同一个连接接口,断开了则发起重新连接请求,而且这个问题短期内SER也不能够解决. 下文中将具体讲述处理的方法: 1.使用Mysql 4.0或4.1版本,如果没有用到Mysql 5的一些新特性比如存储过程触发器之类. 2.