如何在 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中国”