|
|
|
|
移动端

如何重置MySQL或MariaDB的Root密码

几个月前,我在Ubuntu 18.04 上安装了 LAMP。今天,我尝试以 root 用户身份登录数据库,但我完全忘记了密码。经过一阵 Google 搜索并浏览一些文章后,我成功重置了密码。对于那些想知道如何做到这一点的人,这个简短的教程解释了如何在类 Unix 操作系统中重置 MySQL 或 MariaDB Root 密码。

作者:Sk来源:Linux中国|2018-09-08 10:16

【新品产上线啦】51CTO播客,随时随地,碎片化学习

如何重置MySQL或MariaDB的Root密码

几个月前,我在Ubuntu 18.04 上安装了 LAMP。今天,我尝试以 root 用户身份登录数据库,但我完全忘记了密码。经过一阵 Google 搜索并浏览一些文章后,我成功重置了密码。对于那些想知道如何做到这一点的人,这个简短的教程解释了如何在类 Unix 操作系统中重置 MySQL 或 MariaDB Root 密码。

重置 MySQL 或 MariaDB Root 密码

首先,停止数据库。

如果你使用 MySQL,请输入以下命令并下按回车键。

  1. $ sudo systemctl stop mysql

对于 MariaDB:

  1. $ sudo systemctl stop mariadb

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

  1. $ sudo mysqld_safe --skip-grant-tables &

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

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

  1. $ mysql

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

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

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

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

  1. FLUSH PRIVILEGES;
  2. exit

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

  1. $ sudo mysqladmin -u root -p shutdown

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

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

  1. $ sudo systemctl start mysql

对于 MariaDB:

  1. $ sudo systemctl start mariadb

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

  1. $ mysql -u root -p

今天就是这些了。还有更多好东西。敬请期待!

【编辑推荐】

  1. 带你深入了解MySQL的索引
  2. MySQL太慢?试试这些诊断思路和工具
  3. MySQL之存储引擎InnoDB和MyISAM的区别及底层详解
  4. MySQL大数据量分页查询方法及其优化
  5. 卖身Oracle后,MySQL 可能要被MariaDB 取代了?
【责任编辑:庞桂玉 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

Visual C# 2005技术内幕

本书提供了.NET框架下C#编程的详尽指南。书中详细介绍了.NET框架中的核心概念、使用GDI+编写高级用户界面、多线程程序设计、使用ClickOnc...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊