误操作造成root用户没了,如何办呀,我update user set user=password('123456') where user='root'
这可如何办呀,本来想改密码,实际改的是用户名。现在用户名是一个非常长的字符,前面以星号显示呀。
root用户应该是系统用户呀,难道这么容易被改写吗?我现在可以重置root密码,
即 mysqld --defaults-file="e:\mysql\bin\my.ini" --skip-grant-tables --console
这样运行后,我再打开另一个cmd窗口,可以以空密码登录,
非常怪,当前已经没有root用户了(因为被我改写了),但是依然可以用root用户登录,真是怪呀。当然,只能在这种状态下才能用root用户空密码登录,用 mysql -u root -p 是无法登录的(因为 user 表中根本就没有 root 这个用户了呀)

解决方案 »

  1.   

    user 表中存储的是你的所有的账号信息。 --skip-grant-tables 则通知,不使用这个user 表。这样默认的用户就是root,所以你可以用root登录。
    建议参考一下手册中的说明
    MySQL官方文档 http://dev.mysql.com/doc/refman/5.1/zh/index.html5.7. MySQL访问权限系统
    5.7.1. 权限系统的作用
    5.7.2. 权限系统工作原理
    5.7.3. MySQL提供的权限
    5.7.4. 与MySQL服务器连接
    5.7.5. 访问控制, 阶段1:连接核实
    5.7.6. 访问控制, 阶段2:请求核实
    5.7.7. 权限更改何时生效
    5.7.8. 拒绝访问错误的原因
    5.7.9. MySQL 4.1中的密码哈希处理
    MySQL有先进但非标准的安全/权限系统。本节描述它的工作原理。
      

  2.   

    man5man (man5man)
      '截至2010-05-07 21:02:10  用户结帖率0.00%当您的问题得到解答后请及时结贴.
    http://topic.csdn.net/u/20090501/15/7548d251-aec2-4975-a9bf-ca09a5551ba5.html
    http://topic.csdn.net/u/20100428/09/BC9E0908-F250-42A6-8765-B50A82FE186A.html
      

  3.   


    空密码可以登录,这样就很好啊。
    可以再次更新回来啊,把root用户恢复,顺便把密码也改了。
      

  4.   

    这个用户是我今天下午注册的。刚问过问题,所以没结过贴。
    man0man是我以前注册的用户,你查查有没结过贴的吗?
    结贴是美德,不结贴是缺德