MySQL的文档上说是从4.1开始用了新的认证协议(password的hashing算法改了:4.1以后password函数的结果是41位的,而4.1之前的是16 位的),如果用老版本的client连接的话就会出错。
但是php的mysql extension不支持这种新的认证协议,而mysqli extension又只有php5中才有,要用php4的话可以修改 my.ini 来避免这个错误。

用编辑器打开my.ini,在 [mysqld] 下加一行 old_passwords
....
[mysqld]
old_passwords
port=3306
....


然后重启MySQL服务,以前设置过密码的用户需要更新一下:
mysql> SET PASSWORD FOR 'root'@'localhost'=OLD_PASSWORD('root')

然后应该没有问题了。
技术备忘 | 评论(0) | 引用(1) | 阅读(6220)
发表评论
昵称 [注册]
密码 游客无需密码
网址
电邮
打开HTML 打开UBB 打开表情 隐藏 记住我