欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

MySQL/MariaDB的Root密码重置教程

程序员文章站 2022-05-17 23:37:44
前言 忘记密码是我们经常会遇到了一个问题, 如果您忘记或丢失root密码到你的mysql或mariadb的数据库,你仍然可以访问并重置密码,如果你有访问服务器和sudo...

前言

忘记密码是我们经常会遇到了一个问题, 如果您忘记或丢失root密码到你的mysql或mariadb的数据库,你仍然可以访问并重置密码,如果你有访问服务器和sudo -启用用户帐户。

几个月前,我在ubuntu 18.04 上安装了 lamp。今天,我尝试以 root 用户身份登录数据库,但我完全忘记了密码。经过一阵 google 搜索并浏览一些文章后,我成功重置了密码。对于那些想知道如何做到这一点的人,这个简短的教程解释了如何在类 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

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

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对的支持。