新裝的MySQL,沒法登陸。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]#
解決辦法:sql
停掉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 ~]#
重啓後出現要求重置密碼的狀況:this
[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>