[url]http://my.oschina.net/shawnplaying/blog/658636[/url]
新装的MySQL,无法登录。
[code="java"]# service mysql start
Starting MySQL.[ OK ]
# mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
# mysql -u root
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
# mysql -u root -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
#[/code]
解决办法:
停掉MySQL,然后安全模式启动。
[code="java"]# mysqld_safe --skip-grant-tables &
[1] 23607
# 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
# 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
#
# 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
# service mysql start
Starting MySQL.[ OK ]
#[/code]
重启后出现要求重置密码的情况:
[code="java"]# 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>
[/code]
新装的MySQL,无法登录。
[code="java"]# service mysql start
Starting MySQL.[ OK ]
# mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
# mysql -u root
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
# mysql -u root -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
#[/code]
解决办法:
停掉MySQL,然后安全模式启动。
[code="java"]# mysqld_safe --skip-grant-tables &
[1] 23607
# 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
# 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
#
# 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
# service mysql start
Starting MySQL.[ OK ]
#[/code]
重启后出现要求重置密码的情况:
[code="java"]# 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>
[/code]