风云小站 » 『 求助专区 』 » 登陆数据库出错...(十分感谢会员:hogzh)
本页主题: 登陆数据库出错...(十分感谢会员:hogzh) 打印 | 加为IE收藏 | 复制链接 | 收藏主题 | 上一主题 | 下一主题

chenyongyun
级别: 初级会员


精华: 0
发帖: 103
威望: 167 点
风云币: 5696 元
专家分: 0 分
在线时间:51(小时)
注册时间:2006-10-01
最后登录:2008-04-24

 登陆数据库出错...(十分感谢会员:hogzh)

管理提醒:
本帖被 水蜜桃 执行锁定操作(2008-03-04)
还是关于PHP+Apache+MySQL的架设问题....前面一切都顺利通过,但到了http://localhost/phpMyAdmin/ 这一步,输入用户名root与密码后就出现出错提示...:phpMyAdmin - error
#1251 - Client does not support authentication protocol requested by server; consider upgrading MySQL client

如图:


百度了一下解决方法:(刚好我的MySQL 版本为 4.12)
Quote:
出现这种问题也只有在MYSQL4.1.x以上版本,用4.0.x就没问题了

原因是因为你使用的mysql服务器版本中使用了新的密码验证机制,这需要客户端的版本要在4.0以上,原来的密码函数被改为old_password ();,这样使用password()生成的密码在旧的版本上的客户端就不好使了,而PHP中的MYSQL客户端都是3.23的(当然,mysqli的扩展除外),问题就在这了。

目前已知解决方法:

1、进入命令行下,转到MYSQL目录的BIN目录下,进入MYSQL命令行模式:
        例:d:\mysql\bin>mysql -uroot -p123        (用户root,密码123)
2、输入命令:
        mysql>set password for 'root'@'localhost'=old_password('123');        (注意冒号不能少)
3、退入MYSQL命令行:
        mysql>\q



按照上面的步骤做后再重启相关服务,仍然出错....这是为什么?难道真的要换MySQL版本?
[ 此贴被chenyongyun在2008-03-04 19:49重新编辑 ]
顶端 Posted: 2008-03-04 08:48 | [楼 主]
chenyongyun
级别: 初级会员


精华: 0
发帖: 103
威望: 167 点
风云币: 5696 元
专家分: 0 分
在线时间:51(小时)
注册时间:2006-10-01
最后登录:2008-04-24

 

Quote:
引用第1楼jianxin于2008-03-04 10:45发表的  :
换个mtsql的版本或者phpamydmin的版本


中午下载了个mysql 4.0.26。。。安装时根本连密码都不要,应不是这样的吧?或者哪位朋友提供一下mysql 4.0.x的可下载地址。。。谢谢!
顶端 Posted: 2008-03-04 16:03 | 1 楼
chenyongyun
级别: 初级会员


精华: 0
发帖: 103
威望: 167 点
风云币: 5696 元
专家分: 0 分
在线时间:51(小时)
注册时间:2006-10-01
最后登录:2008-04-24

 

Quote:
引用第3楼freelive于2008-03-04 17:26发表的  :
我也觉得可能是版本之间的不兼容的问题。

帮你找到一些,***还比较快,试一下吧~

系列也比较多,自己选择吧~
.......



谢谢...偶也是找到的这里下载...但下载了不能用啊.你提供的这些 4.0.x的下载了解压连个安装文件都没有的,就解压到相应的文件夹后就能用?事实证明还是用不了....
顶端 Posted: 2008-03-04 18:15 | 2 楼
chenyongyun
级别: 初级会员


精华: 0
发帖: 103
威望: 167 点
风云币: 5696 元
专家分: 0 分
在线时间:51(小时)
注册时间:2006-10-01
最后登录:2008-04-24

 

Quote:
引用第5楼hogzh于2008-03-04 18:16发表的  :


晕~~~这里竟然是在研究PHP构建环境,累啊!!!!!!!!!!!!!!!!!!

顶楼问题可以:
.......



谢谢你的精彩回复.我等下回去试试,其实偶也只是没事来学学...我已经把mysql 4.1.x卸载了,等下回去再装上...
顶端 Posted: 2008-03-04 18:43 | 3 楼
chenyongyun
级别: 初级会员


精华: 0
发帖: 103
威望: 167 点
风云币: 5696 元
专家分: 0 分
在线时间:51(小时)
注册时间:2006-10-01
最后登录:2008-04-24

 

Quote:

1 请在开始菜单->程序->mysql  选择第一项

2 输入你安装mysql时设定的root用户的口令

3 shell> mysql

4 按照下面的格式输入命令,注意要替换括号中的内容,以你的mysql的实际情况进行替换)

mysql> update mysql.user SET Password = OLD_PASSWORD('newpwd')  where Host = 'some_host' AND User = 'some_user';
mysql> FLUSH PRIVILEGES;

比如可以写成这样:

mysql> update mysql.user SET Password = OLD_PASSWORD('123456')  where Host = 'localhost' AND User = 'root' ;
mysql> FLUSH PRIVILEGES;

重启mysql,问题应该能够得到解决!


实在太感谢了,问题解决了!只是不明白你为何要写第三步(3 shell> mysql ),输入密码后就显示的mysql>而不是shell>....还有就是那两行的结尾都是分号(;)....论坛显示原因让偶老打成冒号...
顶端 Posted: 2008-03-04 19:47 | 4 楼
chenyongyun
级别: 初级会员


精华: 0
发帖: 103
威望: 167 点
风云币: 5696 元
专家分: 0 分
在线时间:51(小时)
注册时间:2006-10-01
最后登录:2008-04-24

 

出现这种情况的原因是什么?
顶端 Posted: 2008-03-04 19:54 | 5 楼
帖子浏览记录 版块浏览记录
风云小站 » 『 求助专区 』
感谢,曾经的版主
Total 0.015126(s) query 7, Time now is:12-28 11:49, Gzip enabled 渝ICP备20004412号-1

Powered by PHPWind v6.3.2 Certificate Code © 2003-07 PHPWind.com Corporation
Skin by Chen Bo