免费注册 查看新帖 |

Chinaunix

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

[已解决,求因中...]请教怪问题,mySQL可以用root登陆,可是root却没了权限?? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-01-16 15:45 |只看该作者 |倒序浏览
遇到一件奇怪的问题,
就是MySQL可以使用root帐号,
可是root帐号没有办法修改密码,只能使用空密码,
而且root权限什么都没有了,
使用如下命令,提示如下:
  1. [root@***]# mysql -uroot -p
  2. Enter password:
  3. Welcome to the MySQL monitor.  Commands end with ; or \g.
  4. Your MySQL connection id is 3 to server version: 3.23.58

  5. Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

  6. mysql> use mysql
  7. [color=Red]ERROR 1044: Access denied for user: [color=Blue]'@localhost' [/color]to database 'mysql'[/color]
复制代码

可以看见,root连最基本的use mysql的权限都没有了,
而且说权限不够的时候没有提示用户是谁,也是很奇怪的!!
其他的命令也是如此,到底是怎么一回事呢?
这种情况很不符合逻辑的阿?
root本身权限最大,有谁又把root的权限的修改了呢?
期待各位的解答.........

[ 本帖最后由 Jedliu 于 2006-1-16 20:20 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2006-01-16 15:55 |只看该作者
我把出问题的过程说明一下,
是在测试freeradius时使用mySQl的,具体的操作见下,
现象我也记下了,用其他的颜色表明


  1. ##————————————————————
  2. 启动mysql服务
  3. service mysqld start
  4. [color=Red]#mysql 初始密码为空,启动后必须要修改
  5. #/usr/local/mysql/bin/mysqladmin -u root -p password ******
  6. #此处我将密码设为******
  7. #此时我用新密码登陆执行下面的操作的[/color]
  8. 更改mysql的root密码(注意:mysql的root 和系统的root是2个不用的概念)
  9. mysql –uroot –p
  10. 创建radius数据库
  11. creat database radius;
  12. use mysql;
  13. update user set password=password(‘你的密码’) where user=’root’;
  14. 允许远程机器连接
  15. update user set host=’%’ where user=’root’;
  16. [color=Red]#注意此时的操作后要加上‘;’
  17. #并且上面的password(‘你的密码’) 要加上‘’才可以
  18. #此处的password不知道是不是和上面的修改的一致
  19. #但是提示mysql> update user set host=' %' where user='root';
  20. #                ERROR 1062: Duplicate entry ' %-root' for key 1
  21. [color=Blue]#此处出错,可能是导致问题的原因[/color][/color]
  22. 退出及重新启动mysql
  23. quit
  24. service mysqld restart
  25. #————————————————————————
复制代码


然后以后就没有办法修改root的密码了,
而且root的密码变回为空了。

[ 本帖最后由 Jedliu 于 2006-1-16 20:21 编辑 ]

论坛徽章:
0
3 [报告]
发表于 2006-01-16 16:06 |只看该作者
还希望有大侠可以指出问题所在,
以及如何解决问题呢??
恳请解答.....

论坛徽章:
0
4 [报告]
发表于 2006-01-16 16:07 |只看该作者
看置顶帖子里面关于如何修改密码

论坛徽章:
1
数据库技术版块每日发帖之星
日期:2016-03-12 06:20:00
5 [报告]
发表于 2006-01-16 16:21 |只看该作者
update user set host=' %' where user='root';不是表示root用户名的可以远程登录

论坛徽章:
0
6 [报告]
发表于 2006-01-16 16:34 |只看该作者
楼上的qlks,这段表示什么意思呢?
我刚刚接触mySQL,
另外,rardge
我看了顶置贴中如何修改密码,
我好象两次修改了密码,第一次用mysqladmin,后一次使用update user set password=password(‘你的密码’) where user=’root’;
不过当时第二次修改密码没有加(),
可是现在该怎么修改回去呢 ,
root的权限没有了,没有办法再修改密码了,
连use mysql都没有权限,
该如何解决呢?

[ 本帖最后由 Jedliu 于 2006-1-16 16:36 编辑 ]

论坛徽章:
0
7 [报告]
发表于 2006-01-16 16:51 |只看该作者
再用 mysqladmin 命令试试看,或者看如果忘记密码怎么处理的技巧。

论坛徽章:
0
8 [报告]
发表于 2006-01-16 17:09 |只看该作者
原帖由 Jedliu 于 2006-1-16 15:55 发表
#mysql 初始密码为空,启动后必须要修改
#/usr/local/mysql/bin/mysqladmin -u root -p password ******
#此处我将密码设为******
#此时我用新密码登陆执行下面的操作的
更改mysql的root密码(注意:mysql的root 和系统的root是2个不用的概念)
mysql –uroot –p
创建radius数据库
creat database radius;
use mysql;
update user set password=password(‘你的密码’) where user=’root’;
允许远程机器连接
update user set host=’%’ where user=’root’;
#注意此时的操作后要加上‘;’
#并且上面的password(‘你的密码’) 要加上‘’才可以
#此处的password不知道是不是和上面的修改的一致
#但是提示mysql> update user set host=' %' where user='root';
#                ERROR 1062: Duplicate entry ' %-root' for key 1
#此处出错,可能是导致问题的原因
...

一般安装好后user表中有两条user='root'的记录,你update user set host=' %' where user='root'
的时候两条就要一样了,user表是不允许相同的记录的,所以报错
你可以试试用
1.用root或者运行mysqld的用户登录系统;
2.利用kill命令结束掉mysqld的进程;
3.使用--skip-grant-tables参数启动MySQL Server
shell>mysqld_safe --user=mysql --skip-grants-tables &
4.为root@localhost设置新密码
shell>mysqladmin -u root flush-privileges password "newpassword"5.重启MySQL Server

论坛徽章:
0
9 [报告]
发表于 2006-01-16 17:13 |只看该作者
谢谢“rardge”的回复,
问题是,我可以使用root登陆,只是root没有了权限,
完全不可以对mysql数据库进行操作,

# /usr/bin/mysqladmin -u root -p password ****
Enter password:
/usr/bin/mysqladmin: unable to change password; error: 'Access denied for user: '@localhost' to database 'mysql''

此时拒绝访问,但是连用户的都没有显示出来,
问题很是奇怪,该如何处理呢?
谢谢!

[ 本帖最后由 Jedliu 于 2006-1-16 17:23 编辑 ]

论坛徽章:
0
10 [报告]
发表于 2006-01-16 17:27 |只看该作者
因为我没有经历过类似的事情,所以完全是靠感觉来建议你如何做的。
除了FAQ里面那些方法,我也不知道是否还有其他方法了,如果你根本没有什么数据的话,不如把data目录下全部删除,然后重新 mysql_install_db 以及其后步骤(相当于重新安装)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP