MySQL设置root密码错误

时间:2018-06-22 21:35:01

标签: mysql sql

我试图删除root密码。通过某种方式..通过阅读这里的一篇旧文章,我设法将密码更改为我不知道的密码。我使用了这个确切的命令:

mysqladmin -u root -p password ''

输入密码和密码后,我无法再以root用户身份登录。 “”代表什么?

2 个答案:

答案 0 :(得分:1)

来自https://www.howtoforge.com/setting-changing-resetting-mysql-root-passwords

恢复MySQL根密码

您可以通过以下五个简单步骤来恢复MySQL数据库服务器密码:

第1步:停止MySQL服务器进程。

第2步:使用--skip-grant-tables选项启动MySQL(mysqld)服务器/守护进程,以免提示输入密码。

第3步:以root用户身份连接到MySQL服务器。

步骤4:设置新的root密码。

第5步:退出并重新启动MySQL服务器。

以下是您需要为每个步骤键入的命令(以root用户身份登录):

步骤1:停止MySQL服务:

service mysql stop

输出:

Stopping MySQL database server: mysqld.

第2步:启动不带密码的MySQL服务器:

mysqld_safe --skip-grant-tables &

输出:

[1] 5988

Starting mysqld daemon with databases from /var/lib/mysql
mysqld_safe[6025]: started

第3步:使用MySQL客户端连接到MySQL服务器:

mysql -u root

输出:

Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 56299
Server version: 5.6.34-1 (Debian)

Copyright (c) 2000, 2016, 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步:设置新的MySQL root用户密码:

MySQL 5.7.5和更低版本

mysql> use mysql;
mysql> update user set password=PASSWORD("NEW-ROOT-PASSWORD") where User='root';
mysql> flush privileges;
mysql> quit

MySQL 5.7.6和更高版本

mysql> use mysql;
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD("newpass");
mysql> flush privileges;
mysql> quit

步骤5:停止MySQL服务器:

service mysql stop

输出:

Stopping MySQL database server: mysqld
STOPPING server from pid file /var/run/mysqld/mysqld.pid
mysqld_safe[6186]: ended

[1]+  Done                    mysqld_safe --skip-grant-tables

或者如果上面的命令未能停止MySQL,则使用此命令停止MySQL(哪个命令有效取决于MySQL版本):

killall mysqld

根据Linux发行版,输出可能会有所不同。除非报告错误,否则请不要担心。启动MySQL服务器并对其进行测试:

service mysql start
mysql -u root -p

答案 1 :(得分:0)

您似乎根本没有设置密码。尝试登录,在密码字段中不输入任何内容。仅输入用户即可。