刚才使用update user set host="%" where user ="root" 更改了登陆权限,现在root无法在本机登陆了,有什么办法解决不?

解决方案 »

  1.   

    使用mysqld --skip-grant-tables来重新启动mysql,然后再修改密码。
      

  2.   

    转:
    Windows: 
    1.用系统管理员登陆系统。 
    2.停止MySQL的服务。 
    3.进入命令窗口,然后进入MySQL的安装目录,比如我的安装目录是c:\mysql,进入C:\mysql\bin 
    4.跳过权限检查启动MySQL, 
    c:\mysql\bin>mysqld-nt –skip-grant-tables 
    5.重新打开一个窗口,进入c:\mysql\bin目录,设置root的新密码 
    c:\mysql\bin>mysqladmin -u root flush-privileges password "newpassword" 
    c:\mysql\bin>mysqladmin -u root -p shutdown 
    将newpassword替换为你要用的root的密码,第二个命令会提示你输入新密码,重复第一个命令输入的密码。 
    6.停止MySQL Server,用正常模式启动Mysql 
    7.你可以用新的密码链接到Mysql了。
      

  3.   

    or
    打开命令行窗口,停止mysql服务: 
    Net stop mysql 
    启动mysql,一般到mysql的安装路径,找到 mysqld-nt.exe 
    执行:mysqld-nt --skip-grant-tables 当前窗口将会停止。 
    另外打开一个命令行窗口,执行mysql 如果提示没有这个命令,先进入MYSQL的安装位置下BIN目录再运行mysql 
    >use mysql 
    >update user set password=password("new_password") where user="root"; 
    >flush privileges; 
    >exit 
    用Ctrl+Alt+Del,找到mysqld-nt的进程杀掉它,在重新启动mysql-nt服务,就可以用新密码登录了
      

  4.   

    update user set host="%" where user ="root" 
    这个更改不影响登录啊 
      

  5.   

    参考下贴三楼
    http://topic.csdn.net/u/20090515/21/2b3c9a12-d8a5-4bb1-9895-6069cef5aef8.html