您的位置:首页 > 编程语言 > PHP开发

MySQL设置root密码后,PHP网页无法连接数据库。

2015-01-20 22:25 501 查看
URL: http://www.openphp.cn/index.php?module=article&id=132

root用户密码为空时,php网页能够打开;设置root密码后,网页无法连接数据库。

此问题仅在Windows操作系统中出现,Linux操作系统正常。

  在更新到 4.1.17 版本的 MySQL 后,发现需要使用 MySQLi 扩展方能正常使用数据库,否则会出现 1251 - Client does not support authentication protocol requested by server; consider upgrading MySQL client 的提示,这个很纳闷,我没有研究具体的问题,只是切换到 MySQLi 扩展,其实在给 root 加上密码前还是可以使用 MySQL
扩展的,可是给 root 加上密码后就出现了上述客户端版本太低的提示。
  目前已知解决方法:
先用root登录MYSQL服务器,执行
mysql>set password for user1@"localhost"=old_password('yourPassword');
  原因是因为你使用的mysql服务器版本中使用了新的密码验证机制,这需要客户端的版本要在4.0以上,原来的密码函数被改为 old_password();,这样使用password()生成的密码在旧的版本上的客户端就不好使了,而PHP中的MYSQL客户端都是3.23的 (当然,mysqli的扩展除外),问题就在这了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐