免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2247 | 回复: 9
打印 上一主题 下一主题

修改root密码后 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-08-01 17:36 |只看该作者 |倒序浏览
环境:RH9+mysql5.1
修改root密码:mysqladmin -uroot password "NEWPWD"
然后登陆mysql:mysql -uroot -p"NEWPWD"
提示:Client does not support authentication protocol requested by server; consider upgrading MySQL client


直接运行:mysql
mysql>use mysql;
报错,提示:ERROR 1044: Access denied for user ''@'localhost' to database 'mysql'
mysql>SET PASSWORD FOR 'root'@'localhost' = OLD_PASSWORD('NEWPWD');
报错,提示:ERROR 1044: Access denied for user ''@'localhost' to database 'mysql'


都是本机操作,没辙了,root用户登陆不进去。

论坛徽章:
0
2 [报告]
发表于 2006-08-01 18:10 |只看该作者
如果 MySQL 正在运行,首先杀之: killall -TERM mysqld。
启动 MySQL :PATH_TO_MYSQL/bin/mysqld --skip-grant-tables &
就可以不需要密码就进入 MySQL 了。
然后就是
mysql>use mysql
mysql>update user set password=password("new_pass") where user="root";
mysql>flush privileges;
重新杀 MySQL ,用正常方法启动 MySQL
一定注意:很多新手没有用password=password("..."),而是直接password="..."所以改掉密码不好使

这样试过了,还是一样,郁闷!

论坛徽章:
0
3 [报告]
发表于 2006-08-01 20:13 |只看该作者
如果 MySQL 正在运行,首先杀之: killall -TERM mysqld。
启动 MySQL :PATH_TO_MYSQL/bin/mysqld --skip-grant-tables &
就可以不需要密码就进入 MySQL 了。
然后就是
mysql>use mysql
mysql>update user set password=password("new_pass") where user="root";
mysql>flush privileges;
重新杀 MySQL ,用正常方法启动 MySQL

然后登陆
mysql -u root -p
输入密码后,提示
ERROR 1251: Client does not support authentication protocol requested by server; consider upgrading MySQL client

论坛徽章:
0
4 [报告]
发表于 2006-08-01 20:40 |只看该作者
帮帮我吧

论坛徽章:
0
5 [报告]
发表于 2006-08-01 20:51 |只看该作者
汗,,我不会这玩意...我一般用phpmyadmin修改密码。。。直接的,,还正没弄过。。

至于搞丢了密码,,kill mysql进程。。。你可以重新安装到原来位置,,覆盖掉它就可以了。然后重新修改,,刚开始还是建议增加新帐号,免得不知道进的时候麻烦。

如果手头有mysql的data目录,,看看里面有没有mysql这个目录,,不关闭mysql进程也可以,,直接覆盖。(我在winxp下这么做过两次)

祝你好运,,,多用用google。。。

论坛徽章:
0
6 [报告]
发表于 2006-08-01 20:55 |只看该作者
阿,,刚才白打了。。。

我一直用phpmyadmin修改密码的。

你重新安装,然后增加用户,,,直到你会修改密码,能使用的时候再修改root。


如果有可以使用的mysql/data/mysql目录,,那么直接覆盖相应目录。

重启mysql,就可以用前面的密码了。

论坛徽章:
0
7 [报告]
发表于 2006-08-01 21:08 |只看该作者
问题是我所有的用户都是这样啊。
我把root的密码置空:mysqladmin -u root -p password ""
然后可以正常使用,但是修改密码后就不能登陆了。

论坛徽章:
0
8 [报告]
发表于 2006-08-02 06:33 |只看该作者
原帖由 herolyh 于 2006-8-1 18:10 发表
如果 MySQL 正在运行,首先杀之: killall -TERM mysqld。
启动 MySQL :PATH_TO_MYSQL/bin/mysqld --skip-grant-tables &
就可以不需要密码就进入 MySQL 了。
然后就是
mysql>use mysql
mysql>update user set password=password("new_pass") where user="root";
mysql>flush privileges;
重新杀 MySQL ,用正常方法启动 MySQL
一定注意:很多新手没有用password=password("..."),而是直接password="..."所以改掉密码不好使




  1. mysql>update user set password=password("new_pass") where user="root";
复制代码

换成

  1. mysql>update user set password=old_password"new_pass" where user="root";
复制代码

试试

论坛徽章:
0
9 [报告]
发表于 2006-08-02 11:38 |只看该作者

回复 1楼 herolyh 的帖子

问题应该是你的mysql client的版本过低,server是5.1,client版本是多少呢?
如果过低的话,考虑升级你的mysqlclient,然后重新连接

你后面用的是一个空用户登录的,所以是没有权限改mysql.user表的

论坛徽章:
0
10 [报告]
发表于 2006-08-02 11:42 |只看该作者
mysql.user表中root的权限丢失.还是直接update的好.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP