如何在 Linux 中重置 MySQL 或 MariaDB Root 密码
如果您是第一次设置 MySQL 或 MariaDB 数据库服务器,您很可能很快就会运行 mysql_secure_installation 来实施基本的安全设置。
其中一项设置是数据库根帐户的密码,您必须对其保密并仅在严格要求时使用。如果您忘记密码或需要重置密码(例如,当数据库管理员更改角色或被解雇时!)。
建议阅读: 更改 MySQL 或 MariaDB Root 密码
这篇文章将会派上用场。我们将解释如何在 Linux 中重置或恢复忘记的 MySQL 或 MariaDB root 密码。
尽管我们将在本文中使用 MariaDB 服务器,但这些说明也适用于 MySQL。
恢复 MySQL 或 MariaDB root 密码
首先,停止数据库服务并检查服务状态,我们应该看到我们之前设置的环境变量:
------------- SystemD -------------
systemctl stop mariadb
------------- SysVinit -------------
/etc/init.d/mysqld stop
接下来,使用 --skip-grant-tables
启动服务:
------------- SystemD -------------
systemctl set-environment MYSQLD_OPTS="--skip-grant-tables"
systemctl start mariadb
systemctl status mariadb
------------- SysVinit -------------
mysqld_safe --skip-grant-tables &
这将允许您以 root 身份连接到数据库服务器而无需密码(您可能需要切换到不同的终端才能执行此操作):
mysql -u root
从那时起,请按照下面列出的步骤进行操作。
MariaDB [(none)]> USE mysql;
MariaDB [(none)]> UPDATE user SET password=PASSWORD('YourNewPasswordHere') WHERE User='root' AND Host = 'localhost';
MariaDB [(none)]> FLUSH PRIVILEGES;
最后,停止服务,取消设置环境变量并再次启动服务:
------------- SystemD -------------
systemctl stop mariadb
systemctl unset-environment MYSQLD_OPTS
systemctl start mariadb
------------- SysVinit -------------
/etc/init.d/mysql stop
/etc/init.d/mysql start
这将使之前的更改生效,允许您使用新密码连接到数据库服务器。
概括
在本文中,我们讨论了如何重置 MariaDB/MySQL root 密码。与往常一样,如果您有任何问题或反馈,请随时使用下面的评论表给我们留言。我们期待您的回音!