|
忘记你的MySQL root密码? 别担心,它可能发生在我们所有人身上。
在本教程中,我们将向您展示如何重置MySQL root密码,以防您忘记密码。 本指南适用于任何现代Linux发行版,如Ubuntu 18.04和CentOS 7。
在继续执行以下步骤之前,请确保以具有sudo权限的用户身份登录服务器。
确定服务器版本
根据您在系统上运行的MySQL或MariaDB服务器版本,您需要使用不同的命令来恢复root密码。
您可以通过发出以下命令找到您的服务器版本:
如果您的系统中安装了MySQL,则输出将如下所示:
输出结果:
mysql Ver 14.14 Distrib 5.7.22, for Linux (x86_64) using EditLine wrapper
如果您的系统中安装了MariaDB,则输出将如下所示:
输出结果:
mysql Ver 15.1 Distrib 10.1.33-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2
请务必记下您正在运行的MySQL或MariaDB版本。
如何重置MySQL或MariaDB root密码?
请按照以下步骤重置MySQL / MariaDB root密码:
01、停止MySQL或MariaDB服务
要更改root密码,首先我们需要停止MySQL服务器。 为此,请键入以下命令:
- sudo systemctl stop mysql
复制代码
02、启动MySQL或MariaDB服务器而不加载授权表
启用--skip-grant-tables选项后,任何人都可以在没有密码和所有权限的情况下连接到数据库服务器。 要启动数据库服务器而不加载授权表,请键入:
- sudo mysqld_safe --skip-grant-tables &
复制代码
上面命令末尾的&符号将会使程序在后台运行,这样我们就可以继续使用shell。
03、登录MySQL shell
现在,您可以以root用户身份连接到数据库服务器,而不会提示您输入密码:
04、设置新的root密码
如果您有MySQL 5.7.6及更高版本或MariaDB 10.1.20及更高版本,请运行以下命令:
- ALTER USER 'root'@'localhost' IDENTIFIED BY 'MY_NEW_PASSWORD';
复制代码
如果ALTER USER语句不能正常使用,请尝试直接修改用户表:
- <p>UPDATE mysql.user SET authentication_string = PASSWORD('MY_NEW_PASSWORD')</p><p>WHERE User = 'root' AND Host = 'localhost';</p><p>FLUSH PRIVILEGES;</p>
复制代码
如果您有MySQL 5.7.5及更早版本或MariaDB 10.1.20及更早版本,请运行以下命令:
- <p>SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MY_NEW_PASSWORD');</p><p>FLUSH PRIVILEGES;</p>
复制代码
在这两种情况下,如果一切顺利,您应该看到以下输出:
Query OK, 0 rows affected (0.00 sec)
05、正常停止并启动数据库服务器
现在我们已经重置了root密码,我们可以停止数据库服务器并正常启动它。
使用以下命令停止数据库服务器,系统将提示您输入新的root密码:
- mysqladmin -u root -p shutdown
复制代码
最后正常启动数据库服务器。
对于MySQL,请键入:
- sudo systemctl start mysql
复制代码
对于MariaDB,请键入:
- sudo systemctl start mariadb
复制代码
06、验证密码
要验证是否已正确应用新的root密码,请键入:
系统将提示您输入新的root密码。 输入它,您应该登录到您的数据库服务器。
原文链接:https://linux265.com/news/3381.html
|
|