MYSQL修改密码和忘记ROOT密码

前言:本文档介绍MYSQL修改用户密码的方法和忘记root密码后的处理方法。

 

一、三种修改密码的方式

1、修改当前用户的登录密码

脚本:SET PASSWORD=PASSWORD('netpassword');

例:

mysql> set password=password('root');

Query OK, 0 rows affected (0.00 sec)

 

2、使用SET修改其他用户的密码,通过ROOT修改其他账号的密码

脚本:SET PASSWORD FOR

'user' @'host'=PASSWORD('newpassword')

 

例:

mysql> select host,user from mysql.user;

+----------------+--------+

| host | user |

+----------------+--------+

| | test |

| % | john1 |

| % | mytest |

| 127.0.0.1 | root |

| 192.168.189.71 | john |

| 192.168.189.71 | john1 |

| ::1 | john |

| ::1 | root |

| localhost | john |

| localhost | root |

| mysql | root |

+----------------+--------+

11 rows in set (0.00 sec)

 

mysql> SET PASSWORD FOR

-> 'john1' @'%'=PASSWORD('john');

Query OK, 0 rows affected (0.00 sec)

 

3、使用UPDATE语句修改其他用户的密码,需要有修改MYSQL权限的用户,一般用ROOT用户

脚本:

UPDATE mysql.user SET

PASSWORD=PASSWORD('newpassword')

WHERE

User='username'

AND

Host='host';

 

例:

mysql> UPDATE mysql.user SET

-> PASSWORD=PASSWORD('root')

-> where

-> User='root' AND Host='127.0.0.1';

Query OK, 0 rows affected (0.02 sec)

Rows matched: 0 Changed: 0 Warnings: 0

 

二、忘记ROOT密码的处理方法

1、关闭数据库

脚本:[root@mysql etc]# service mysql stop

 

2、使用脚本: mysqld_safe --skip-grant-tables 启动数据库

使用/usr/bin/mysqld_safe --skip-grant-tables&启动数据库

 

3、使用空密码进入数据库(mysql命令后直接回车)

[root@mysql ~]# mysql

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 3

Server version: 5.6.20-enterprise-commercial-advanced MySQL Enterprise Server - Advanced Edition (Commercial)

 

Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.

 

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

 

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

 

mysql>

 

4、使用UPDATE语句修改ROOT密码

mysql> UPDATE mysql.user SET

-> PASSWORD=PASSWORD('root')

-> where

-> User='root' AND Host='localhost';

 

5、关闭数据库并重新以正常方式启动数据库

[root@mysql ~]# service mysql restart;

Shutting down MySQL.. SUCCESS!

Starting MySQL.. SUCCESS!

[root@mysql ~]# mysql

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

[root@mysql ~]# mysql -p

Enter password:

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 2

Server version: 5.6.20-enterprise-commercial-advanced MySQL Enterprise Server - Advanced Edition (Commercial)

 

Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.

 

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

 

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

 

mysql>

 

显示可以成功登录,整个过程很简单。大功告成!!!

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

本文作者:JOHN

ORACLE技术博客:ORACLE 猎人笔记               数据库技术群:367875324 (请备注ORACLE管理 )  

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

请使用浏览器的分享功能分享到微信等