php与mysql无法连接mysql_connect()[function.mysql-connect]:Clientdoesnotsuppor
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php与mysql无法连接mysql_connect()[function.mysql-connect]:Clientdoesnotsuppor,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3377字,纯文字阅读大概需要5分钟。
内容图文
![php与mysql无法连接mysql_connect()[function.mysql-connect]:Clientdoesnotsuppor](/upload/InfoBanner/zyjiaocheng/199/e661f20ea5724ad198bfc4497d8a1093.jpg)
Warning: mysql_connect() [function.mysql-connect]: Client does not support authentication protocol requested by server; consider upgrading MySQL client
in D:\XXXX\XXXX\apache-tomcat-8.0.5\webapps\Project\opendb.php on line 5
Could not connect: Client does not support authentication protocol requested by server; consider upgrading MySQL client
php的版本是php-4.4.9
myslq的版本是5.6
tomcat的版本是8.0.5
想要在本地搭建一个php的开发环境(tomcat+mysql+php)。
现在
1、Tomcat与php已经调通,在页面上可以看到phpinfo。
2、tomcat与mysql也调通,用jsp页面可以查询mysql中的表信息。
注:在网上查到的解决方法都不行。下面方法试过了,还是同样的错误提示。
----------------------------------------------------------------------------------------------------
主要是改变连接 MySQL 帐户的加密方式,MySQL 4.1/5.0 是通过 PASSWORD 这种方式加密的。可以通过以下两种方法得到解决:
1) MySQL->SET PASSWORD FOR 'some_user'@'some_host'=OLD_PASSWORD('new_password');
MySQL->FLUSH PRIVILEGES;
2)MySQL->UPDATE MySQL.user SET Password=OLD_PASSWORD('new_password') WHERE Host='some_host' AND User='some_user';
MySQL->FLUSH PRIVILEGES;
----------------------------------------------------------------------------------------------------
回复讨论(解决方案)
你的 mysql 是自己安装吧?
tomcat、php、mysql都是自己安装的
你的 mysql 是自己安装吧?
tomcat、php、mysql都是自己安装的
背景
从 php 5.3 开始,php 的 mysql 操作只使用内置的 mysql 客户端
显然这个客户端的版本是要低于 5.6 的,但不影响使用
原因
你安装 mysql 时,安装程序会把 mysql 的安装路径追加到操作系统环境变量 PATH 中
这就是不能访问的根源
补救
所以你需要从 PATH 中去掉 mysql 的路径
不过这样一来,jdbc 可能就无法连接 mysql 了,可能需要重新配置一下
背景
从 php 5.3 开始,php 的 mysql 操作只使用内置的 mysql 客户端
显然这个客户端的版本是要低于 5.6 的,但不影响使用
原因
你安装 mysql 时,安装程序会把 mysql 的安装路径追加到操作系统环境变量 PATH 中
这就是不能访问的根源
补救
所以你需要从 PATH 中去掉 mysql 的路径
不过这样一来,jdbc 可能就无法连接 mysql 了,可能需要重新配置一下
非常感谢回复。
首先我使用的php是4.4.9,而不是5.3以上版本。
其次,在PATH中并没有mysql的路径。
背景
从 php 5.3 开始,php 的 mysql 操作只使用内置的 mysql 客户端
显然这个客户端的版本是要低于 5.6 的,但不影响使用
原因
你安装 mysql 时,安装程序会把 mysql 的安装路径追加到操作系统环境变量 PATH 中
这就是不能访问的根源
补救
所以你需要从 PATH 中去掉 mysql 的路径
不过这样一来,jdbc 可能就无法连接 mysql 了,可能需要重新配置一下
还有个问题,不知道是否有关系。
在我利用:MySQL->SET PASSWORD FOR 'some_user'@'some_host'=OLD_PASSWORD('new_password');
修改密码时会提示:ERROR 1372 (HY000): Password hash should be a 41-digit hexadecimal number
当改为MySQL->SET PASSWORD FOR 'some_user'@'some_host'=OLD_PASSWORD('');时会成功。
※及密码为空。
但是我通过mysqladmin -u root -p password 是可以修改密码的,jdbc在密码为空和不为空时都可以访问。
这个问题还是没有解决,但是我通过其他方法配置成功了。
把mysql5.6卸载后安装了mysql4.1。 就没有那个错误了。
但有出现了一个新问题,在php页面中我写的用户是A,但是错误提示说B@localhost (B是我本机的用户名)不能访问mysql。
后来在mysql的user表中新增了一个B的用户。
终于搞定了。
还是感谢版主及时回复。。
内容总结
以上是互联网集市为您收集整理的php与mysql无法连接mysql_connect()[function.mysql-connect]:Clientdoesnotsuppor全部内容,希望文章能够帮你解决php与mysql无法连接mysql_connect()[function.mysql-connect]:Clientdoesnotsuppor所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。