mysql4.1以上版本连接时出现Client does not support authentication protocol问题解决办法

yipeiwu_com7年前Mysql基础
mysql4.1以上版本连接时出现Client does not support authentication protocol问题解决办法  
shell> mysql 
Client does not support authentication protocol requested 
by server; consider upgrading MySQL client 

官方的说法是 
MySQL 4.1 and up uses an authentication protocol based on a password hashing algorithm that is incompatible with that used by older clients. ..... 


如果你升级mysql到4.1以上版本后遇到以上问题,请先确定你的mysql client 是4.1或者更高版本.(WINDOWS下有问题你就直接跳到下面看解决方法了,因为MYSQL 在WINDOWS是client和server一起装上了的) 
请使用以下两种方法之一 
其一: 
mysql> SET PASSWORD FOR 
    -> 'some_user'@'some_host' = OLD_PASSWORD('newpwd'); 
其二: 
mysql> UPDATE mysql.user SET Password = OLD_PASSWORD('newpwd') 
    -> WHERE Host = 'some_host' AND User = 'some_user'; 
mysql> FLUSH PRIVILEGES; 

上面红色的部分请按自己实际情况修改.... 
这样做后,连接就会正常了@!

相关文章

php pdo连接数据库操作示例

本文实例讲述了php pdo连接数据库操作。分享给大家供大家参考,具体如下:pdo连接数据库的有点是能实现不同数据库之间的转换,而且有事务功能的回滚,更有pdo::prepare();pd...

php mysqli查询语句返回值类型实例分析

本文实例分析了php mysqli查询语句返回值类型。分享给大家供大家参考,具体如下: <?php $link = new mysqli('localhost', 'r...

php mysql_list_dbs()函数用法示例

本文实例讲述了php mysql_list_dbs()函数用法。分享给大家供大家参考,具体如下: mysql_list_dbs()函数 定义:列出MySQL服务器中所有的数据库 $c...

解决PHP mysql_query执行超时(Fatal error: Maximum execution time …)

【错误原因】:mysql_query执行超时.【解决办法】:修改php.ini中的 max_execution_time的值,默认为300,单位是秒,例如:;max_execution_...

PHP MYSQL乱码问题,使用SET NAMES utf8校正

先记下,免得以后想不起来又到处去找! PHP操作数据库的时候,数据库中数据使用UTF8编码,在读出来的时候,显示的全是???????问号乱码,找了一些资料原来是在读取之前进行一次编码设置...