MySQL的root密码重置

本文介绍了一种新安装MySQL后遇到的无法登录问题及其解决方法。通过安全模式启动MySQL,并更新root用户的密码,最终解决了登录失败的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

[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]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值