在类Unix系统中重置 MySQL 或 MariaDB 的 Root 密码

会不会出现这样搞笑的一件事?很久之前在Ubuntu上安装了数据库,当时随便敲打了数据库密码,但是现在想用的时候,却发现,密码忘记了,完全不记得了!搞笑吗?不搞笑,在我们的日常生活中很常见!今天就来和大家一起了解下如何在Unix系统中重置 MySQL 或 MariaDB 的 Root 密码!

重置 MySQL 或 MariaDB Root 密码

首先,和其他以往的操作一样,我们先暂停数据库:

MySQL

    $ sudo systemctl stop mysql

MariaDB

    $ sudo systemctl stop mariadb

然后使用以下命令在没有权限检查的情况下重新启动数据库:

$ sudo mysqld_safe --skip-grant-tables &

在这里, --skip-grant-tables 选项可以让你在没有密码和所有权限的情况下进行数据库连接。如果使用此选项启动服务器,它还会启用 --skip-networking 选项,这用于防止其他客户端连接到数据库服务器。并且,& 符号用于在后台运行命令,因此你可以在以下步骤中输入其他命令。请注意,上述命令很危险,并且你的数据库会变得不安全。所以我们只能暂时的用此命令来重置密码。

接下来,以 root 用户身份登录 MySQL/MariaDB 服务器:

$ mysql

mysql >MariaDB [(none)] > 提示符下,运行以下命令重置 root 用户密码:

UPDATE mysql.user SET Password=PASSWORD('NEW-PASSWORD') WHERE User='root';

使用你自己的密码替换上述命令中的 NEW-PASSWORD

然后,输入以下命令退出 mysql 控制台。

FLUSH PRIVILEGES;
exit

最后,关闭之前使用 --skip-grant-tables 选项运行的数据库。为此,运行:

$ sudo mysqladmin -u root -p shutdown

系统将要求你输入在上一步中设置的 MySQL/MariaDB 用户密码。

现在,使用以下命令正常启动 MySQL/MariaDB 服务:

$ sudo systemctl start mysql

对于 MariaDB:

$ sudo systemctl start mariadb

使用以下命令验证密码是否确实已更改:

$ mysql -u root -p

在类Unix系统中重置 MySQL 或 MariaDB 的 Root 密码就简单介绍到这里。

VIA:https://www.ostechnix.com/install-apache-mariadb-php-lamp-stack-ubuntu-16-04/

小程序码
  • 技术宅微信
  • 联系我们
    • 电话:025-66045436合作
    • 官方小程序 技术宅小程序
      官方微信 技术宅微信