个性化阅读
专注于IT技术分析

如何在Ubuntu 16.04中重置MySQL 5.7 root密码

本文概述

你是否忘记了服务器中MySQL的root密码?你是否在服务器中重新安装了MySQL, 是否输入了错误的密码, 现在你无法访问MySQL服务器?无论是什么原因, 在发生上述类似情况时, 知道如何在MySQL服务器中重置root密码都是非常重要的。

在本教程中, 我们将展示如何在Ubuntu 16.04中重置MySQL服务器的根密码。

1.停止活动的MySQL服务

第一步, 你需要停止任何正在运行的活动MySQL实例:

sudo service mysql stop

这将允许你以安全模式启动mysql服务。

2.以安全模式启动MySQL

如果你确定没有任何MySQL进程在后台运行, 则可以使用mysqld_safe启动MySQL的安全版本。但是, 它将使用skip-grant-tables参数执行:

mysqld_safe --skip-grant-tables &

这使任何人都可以不使用密码并具有所有特权进行连接, 并禁用帐户管理语句, 例如ALTER USER和SET PASSWORD。因为这是不安全的, 所以如果使用–skip-grant-tables选项启动服务器, 它将自动启用–skip-networking以防止远程连接。

3.以root用户身份访问

既然mysql在本地运行且没有任何安全性验证, 则需要在MySQL CLI中使用以下命令以root用户身份登录:

mysql -u root mysql

4.修改密码

现在, 你可以访问mysql CLI了, 你将可以毫无问题地运行查询, 包括更改Root密码的查询。首先, 使用以下查询将数据库更改为mysql:

use mysql;

然后, 在MySQL 5.7中, 你可以使用以下查询更改用户密码, 如你所见, 在这种情况下, 该用户将是root用户:

update user set authentication_string=password('YOUR-NEW-PASSWORD') where user='root';

警告:如果你在运行上一个查询后遇到以下异常:

错误1820(HY000):在执行此语句之前, 必须使用ALTER USER语句重置密码。

你可以通过首先运行以下查询来解决此错误:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'YOUR-NEW-PASSWORD';

然后, 再次运行更新查询, 它将再次运行(有关此问题的更多信息, 请参见此处)。就是这样!现在, 你将可以在下一步中使用新密码以root用户身份登录mysql。

5.停止安全的MySQL并开始正常服务

使用以下命令停止MySQL的安全版本:

sudo service mysql stop

然后使用以下命令重新启动正常服务:

service mysql start

服务正确启动后, 请使用以下命令访问MySQL CLI:

mysql -u root -p

这将提示你输入你先前为root用户设置的密码, 仅此而已!

编码愉快!

赞(0)
未经允许不得转载:srcmini » 如何在Ubuntu 16.04中重置MySQL 5.7 root密码

评论 抢沙发

评论前必须登录!