如何在 Linux 中重置 MySQL 或者 MariaDB 的 root 密码

摘要:如果你是第一次设置MySQL或MariaDB数据库,你可以直接运行mysql_secure_installation来实现基本的安全设置。其中一项是设置数据库root帐户的密码-你必须保持私密,并仅在绝对需要时使用。

如果你是第一次设置MySQL或MariaDB数据库,你可以直接运行mysql_secure_installation来实现基本的安全设置。

其中一项是设置数据库root帐户的密码-你必须保持私密,并仅在绝对需要时使用。如果你忘记了密码或需要重置密码(例如,当数据库管理员换人或被裁员!),这篇文章会派上用场。我们将解释如何在Linux中重置或恢复MySQL或MariaDB的root密码。

建议阅读:更改MySQL或MariaDB的root密码。

虽然我们将在本文中使用MariaDB,但这些说明同样也适用于MySQL。

恢复MySQL或者MariaDB的root密码

开始之前,先停止数据库服务并检查服务状态,我们应该可以看到先前设置的环境变量:

-------------SystemD-------------

#systemctlstopmariadb

-------------SysVinit-------------

#/etc/init.d/mysqldstop

接下来,用--skip-grant-tables选项启动服务:

-------------SystemD-------------

#systemctlset-environmentMYSQLD_OPTS="--skip-grant-tables"

#systemctlstartmariadb

#systemctlstatusmariadb

-------------SysVinit-------------

#mysqld_safe--skip-grant-tables&

使用skiptables启动MySQL/MariaDB

使用skiptables启动MySQL/MariaDB

这可以让你不用root密码就能连接到数据库(你也许需要切换到另外一个终端上):

#mysql-uroot

接下来,按照下面列出的步骤来。

MariaDB[(none)]>USEmysql;

MariaDB[(none)]>UPDATEuserSETpassword=PASSWORD('YourNewPasswordHere')WHEREUser='root'ANDHost='localhost';

MariaDB[(none)]>FLUSHPRIVILEGES;

最后,停止服务,取消环境变量设置并再次启动服务:

-------------SystemD-------------

#systemctlstopmariadb

#systemctlunset-environmentMYSQLD_OPTS

#systemctlstartmariadb

-------------SysVinit-------------

#/etc/init.d/mysqlstop

#/etc/init.d/mysqlstart

这可以让先前的改变生效,允许你使用新的密码连接到数据库。

原文发布时间为:2017-03-17

本文来自云栖社区合作伙伴“Linux中国”

相关推荐