Chinaunix

标题: 修改密码之后,默认的mysql数据库不见了 [打印本页]

作者: zenkill    时间: 2007-02-11 19:52
标题: 修改密码之后,默认的mysql数据库不见了
我在FC5下安装Mysql5.0.18之后,执行mysql_install_db
又改了root的密码:
update user set password='test' where user='root'

但是我下次再进入Mysql,
# mysql -u root -p
Enter password:
输入test(刚才修改的密码)之后,出现
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

但是不输入任何密码却可以正常进入,
不过用show databases;

的结果里面已经没有了mysql这个数据库
use mysql也不可以了

这是咋回事呢
作者: yejr    时间: 2007-02-11 19:55
不用任何密码就进去,是因为你的系统中存在匿名用户,以匿名用户身份登录了,详情看看 http://imysql.cn/docs/MySQL_51_z ... ml#privilege-system
作者: zenkill    时间: 2007-02-11 19:58
谢谢斑竹回答!
那为什么我用root用户,并且是正确的密码却进不去呢?

而且user表也看不到了

[ 本帖最后由 zenkill 于 2007-2-11 19:59 编辑 ]
作者: jiangshachina    时间: 2007-02-12 08:43
那为什么我用root用户,并且是正确的密码却进不去呢?
而且user表也看不到了
如果你并没有登录成功,那么怎么能说“user表也看不到了”。
另外,你不用密码,而直接使用mysql -uroot -hHost这样形式的命令,
看看能否登录?
作者: Linux@初学者    时间: 2007-02-12 11:32
没刷新权限吧?
作者: jiangshachina    时间: 2007-02-12 12:03
没刷新权限吧?
Yeah!
作者: zenkill    时间: 2007-02-14 21:01
是啊,没刷新权限:(
重新安装都不行,
查了mysql帮助文档,重新设置root的密码,居然还是没用,
更改root的密码怎么也得有权限才可以,我每次都是access denied!
准备重装FC了

ps:不刷新权限,威力这么大?
作者: gogo407    时间: 2007-02-15 00:07
原帖由 zenkill 于 2007-2-14 21:01 发表
是啊,没刷新权限:(
重新安装都不行,
查了mysql帮助文档,重新设置root的密码,居然还是没用,
更改root的密码怎么也得有权限才可以,我每次都是access denied!
准备重装FC了

ps:不刷新权限,威力这么大?

没必要重新安装FC吧,看下手册
忽略权限bin/safe_mysqld --skip-grant-tables &
直接输入mysql
应该可以进去,并得到你想要的权限,再修改密码,刷新权限表就好拉
作者: macrodba    时间: 2007-02-15 08:49
楼上正解
你也可以通过-h参数进入
作者: jiangshachina    时间: 2007-02-15 09:10
--skip-grant-tables
学习了
作者: zenkill    时间: 2007-02-15 11:58
原帖由 gogo407 于 2007-2-15 00:07 发表

没必要重新安装FC吧,看下手册
忽略权限bin/safe_mysqld --skip-grant-tables &
直接输入mysql
应该可以进去,并得到你想要的权限,再修改密码,刷新权限表就好拉


手册上的这个我已经试过了但是每次到下面的最后一步,就什么access denied,我都麻木了
手册上面提到另一种方法也是同样的错误

1.Stop mysqld and restart it with the --skip-grant-tables --user=root options
(Windows users omit the --user=root portion).
2.Connect to the mysqld server with this command:
3.Issue the following statements in the mysql client:
mysql> UPDATE mysql.user SET Password=PASSWORD('newpwd')
    ->                   WHERE User='root';
shell> mysql -u root


参照http://dev.mysql.com/doc/refman/5.0/en/resetting-permissions.html
作者: Namelessxp    时间: 2007-02-15 12:03
update user set password='test' where user='root'

汗一个,MySQL弱智到用明文存储用户密码?

update user set password=password('test') where user='root';
flush privileges;
作者: gogo407    时间: 2007-02-15 17:30
原帖由 Namelessxp 于 2007-2-15 12:03 发表
update user set password='test' where user='root'

汗一个,MySQL弱智到用明文存储用户密码?

update user set password=password('test') where user='root';
flush privileges;

呵呵,原来手册不是每个人都能读懂的啊
哈哈
lz下次记得,不仅要读手册,也要理解哦
。。。。。。。。。。。。。
飘过
恭喜楼上找茬顺利过关
HOHO




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2