mysql密码忘记或修改密码的解决办法

 今天在连接mysql的时候,发现老是提示连接到localhost失败,找了原因,是前两天密码被非法修改了。现在不知道root登陆密码,又想连接到数据库,网站找了下方法,结合自己的实践,总结如下:

1、在my.init文件中的[mysqld]下面加上skip-grant-tables,故名思议,就是跳过授权验证表,直接操作数据库

2、重新启动mysql (net start/stop mysql)

3、在MySQL Command Line Client用root以空密码登陆。 或者在命令行中敲命令"mysql"(path设置)

4、修改密码

  
  
  
  
  1. mysql> use mysql; 
  2. Database changed 
  3. mysql> UPDATE user SET Password = password ('root'WHERE User = 'root'
  4. Query OK, 2 rows affected (0.00 sec) 
  5. Rows matched: 2  Changed: 2  Warnings: 0 

5、查看是否修改成功

  
  
  
  
  1. mysql> select password from user  where user='root'
  2. +-------------------------------------------+ 
  3. password                                  | 
  4. +-------------------------------------------+ 
  5. | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B | 
  6. | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B | 
  7. +-------------------------------------------+ 
  8. rows in set (0.00 sec) 

6、刷新权限,mysql新设置用户或更改密码后需用flush privileges刷新MySQL的系统权限相关表,否则会出现拒绝访问,还有一种方法,就是重新启动mysql服务器,来使新设置生效。并退出

  
  
  
  
  1. mysql> flush privileges
  2. Query OK, 0 rows affected (0.00 sec) 
  3.  
  4. mysql> exit 
  5. Bye 

7、在my.int中,把skip-grant-tables删掉,重启mysql

8、再次登陆数据库,成功

  
  
  
  
  1. C:\Windows\system32>mysql -uroot -p 
  2. Enter password: **** 
  3. Welcome to the MySQL monitor.  Commands end with ; or \g. 
  4. Your MySQL connection id is 10 
  5. Server version: 5.1.57-community MySQL Community Server (GPL) 

 

你可能感兴趣的:(mysql,localhost,忘记密码,修改密码)