简单办法有2种:
1、先备份数据,就是把data目录下的所有目录(除mysql目录外)拷贝到其他地方,然后重新安装mysql,再将备份还原。2、从其他机子上拷贝data\mysql目录覆盖你原来的,当然版本要一致。

解决方案 »

  1.   

    如果不慎忘记了MySQL的root密码,
    可以在启动MySQL服务器时加上参数 --skip-grant-tables 
     来跳过授权表的验证 (./safe_mysqld --skip-grant-tables &),
    这样就可以直接登陆MySQL服务器,
    然后再修改root用户的口令,
    重启MySQL就可以用新口令登陆了。
      

  2.   

    如果你忘记了你的MYSQL的root口令的话,你可以通过下面的过程恢复。 
      1. 向mysqld server 发送kill命令关掉mysqld server(不是 kill -9),存放进程ID的文件通常在MYSQL的数据库所在的目录中。 
          kill `cat /mysql-data-directory/hostname.pid` 
         你必须是UNIX的root用户或者是你所运行的SERVER上的同等用户,才能执行这个操作。 
      2. 使用`--skip-grant-tables' 参数来启动 mysqld。 
      3. 使用`mysql -h hostname mysql'命令登录到mysqld server ,用grant命令改变口令。你也可以这样做:`mysqladmin -h hostname -u user password 'new password''。 
    (其实也可以用use mysql; update user set password =password('yourpass') where user='root' 来做到。) 
      4. 载入权限表: `mysqladmin -h hostname flush-privileges' ,或者使用 SQL 命令`FLUSH PRIVILEGES'。(当然,在这里,你也可以重启mysqld。) 
      

  3.   

    俺的招数无敌通杀!;)http://www.csdn.net/develop/read_article.asp?id=17080