SEP附录1 - MacOS MySQL 重置 root 密码
目录:
- 先决条件
- 识别服务器版本
- 如何重置MySQL或MariaDB根密码
- 1.停止MySQL / MariaDB服务
- 2.启动MySQL / MariaDB服务器而不加载授权表
- 3.登录到MySQL Shell
- 4.设置一个新的root密码
- 5.正常停止并启动数据库服务器
- 6.验证密码
- 结论
忘记了MySQL的root密码? 别担心,这发生在我们所有人身上。
在本教程中,我们将向您展示如何在忘记密码的情况下重置MySQL根密码。 本指南适用于任何现代Linux发行版,例如Ubuntu 18.04和CentOS 7。
先决条件
在继续执行以下步骤之前,请确保您以具有sudo特权的用户身份登录到服务器。
识别服务器版本
根据系统上运行的MySQL或MariaDB服务器版本,您将需要使用不同的命令来恢复root密码。
您可以通过发出以下命令来找到服务器版本:
mysql --version
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根密码
请按照以下步骤重置您的MySQL / MariaDB根密码:
1.停止MySQL / MariaDB服务
要更改root密码,首先我们需要停止MySQL服务器。 为此,请键入以下命令:
2.启动MySQL / MariaDB服务器而不加载授权表
启用
--skip-grant-tables
选项后,任何人都可以不使用密码并具有所有特权的方式连接到数据库服务器。
要启动数据库服务器而不加载授权表,请输入:
sudo mysqld_safe --skip-grant-tables &
上面命令的&符
&
会导致程序在后台运行,因此我们可以继续使用该shell。
3.登录到MySQL Shell
现在,您可以以root用户身份连接到数据库服务器,而无需提示输入密码:
4.设置一个新的root密码
-
如果您具有MySQL 5.7.6和更高版本或MariaDB 10.1.20和更高版本,请运行以下命令:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MY_NEW_PASSWORD';FLUSH PRIVILEGES;如果
ALTER USER语句对您不起作用,请尝试直接修改用户表:UPDATE mysql.user SET authentication_string = PASSWORD('MY_NEW_PASSWORD')WHERE User = 'root' AND Host = 'localhost';UPDATE mysql.user SET authentication_string = PASSWORD('MY_NEW_PASSWORD')WHERE User = 'root' AND Host = 'localhost';FLUSH PRIVILEGES;如果您具有MySQL 5.7.5和更低版本或MariaDB 10.1.20和更低版本,请运行以下命令:
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MY_NEW_PASSWORD');FLUSH PRIVILEGES;
在两种情况下,如果一切顺利,您应该看到以下输出:
Query OK, 0 rows affected (0.00 sec)
5.正常停止并启动数据库服务器
现在已经设置了root密码,我们需要停止数据库服务器并正常启动它。
使用以下命令停止数据库服务器:
mysqladmin -u root -p shutdown
系统将提示您输入新的root密码:
正常启动数据库服务器:
-
对于MySQL,输入:
sudo systemctl start mysql对于MariaDB,输入:
sudo systemctl start mariadb
6.验证密码
要验证是否正确应用了新的root密码,请输入:
mysql -u root -p
系统将提示您输入新的root密码。 输入它,您应该登录到数据库服务器。
结论
在本教程中,您学习了如何重置MySQL或MariaDB根密码。 确保新的root密码安全可靠,并将其保存在安全的地方。
如有任何疑问,请随时发表评论。
MySQL数据库






