MySQL的root密码重置

http://my.oschina.net/shawnplaying/blog/658636
新装的MySQL,无法登录。
[root@subv2 httpd]# service mysql start
Starting MySQL.[  OK  ]
[root@subv2 httpd]# mysql 
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
[root@subv2 httpd]# mysql -u root
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
[root@subv2 httpd]# mysql -u root -p
Enter password: 
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
[root@subv2 httpd]#

解决办法:

停掉MySQL,然后安全模式启动。
[root@subv2 ~]# mysqld_safe --skip-grant-tables &
[1] 23607
[root@subv2 ~]# 160413 18:25:25 mysqld_safe Logging to '/var/lib/mysql/subv2.err'.
160413 18:25:26 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
 
[root@subv2 ~]# mysql -u root
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.6.20 MySQL Community Server (GPL)
 
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> 
mysql> select host,user,password from user;
+-----------+------+-------------------------------------------+
| host      | user | password                                  |
+-----------+------+-------------------------------------------+
| localhost | root | *7D217933D7680E018C396B7EDE0C0D8617C7F5F3 |
| subv2     | root | *7D217933D7680E018C396B7EDE0C0D8617C7F5F3 |
| 127.0.0.1 | root | *7D217933D7680E018C396B7EDE0C0D8617C7F5F3 |
| ::1       | root | *7D217933D7680E018C396B7EDE0C0D8617C7F5F3 |
+-----------+------+-------------------------------------------+
4 rows in set (0.00 sec)
 
mysql>update user set password=password('root');
Query OK, 4 rows affected (0.00 sec)
Rows matched: 4  Changed: 4  Warnings: 0
 
mysql>select host,user,password from user;
+-----------+------+-------------------------------------------+
| host      | user | password                                  |
+-----------+------+-------------------------------------------+
| localhost | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
| subv2     | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
| 127.0.0.1 | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
| ::1       | root | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
+-----------+------+-------------------------------------------+
4 rows in set (0.00 sec)
 
mysql> 
mysql> exit
Bye
[root@subv2 ~]#
[root@subv2 ~]# service mysql stop
Shutting down MySQL..160413 18:28:24 mysqld_safe mysqld from pid file /var/lib/mysql/subv2.pid ended
[  OK  ]
[1]+  Done                    mysqld_safe --skip-grant-tables
[root@subv2 ~]# service mysql start
Starting MySQL.[  OK  ]
[root@subv2 ~]#



重启后出现要求重置密码的情况:
[root@subv2 etc]# mysql -u root -p 
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.6.20
 
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> show databases;
ERROR 1820 (HY000): You must SET PASSWORD before executing this statement
mysql> set password=password('root');
Query OK, 0 rows affected (0.00 sec)
 
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
+--------------------+
4 rows in set (0.00 sec)
 
mysql>

猜你喜欢

转载自panyongzheng.iteye.com/blog/2290895