如何重置你的 MySQL 或 MariaDB 的 root 暗码
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,不由得分享一下给各人。点击跳转到网站。简介
最好的人也会忘记暗码。如果您忘记或丢失了 MySQL 或 MariaDB 数据库的 root 暗码,只要您可以访问服务器并拥有一个 sudo-enabled 用户账户,您仍旧可以得到访问权限并重置暗码。
本教程将介绍如何重置较旧和较新版本的 MySQL 和 MariaDB 的 root 暗码。
先决条件
要恢复 root MySQL/MariaDB 暗码,您必要:
[*]访问运行 MySQL 或 MariaDB 的 Linux 服务器,并拥有一个 sudo 用户。
步骤 1 —— 确定数据库版本
大多数当代 Linux 发行版都附带了 MySQL 或 MariaDB,后者是一个盛行的兼容 MySQL 的替换品。根据使用的数据库及其版本,您必要使用不同的下令来恢复 root 暗码。
您可以使用以下下令查抄您的版本:
mysql --version
对于 MySQL,您将看到如下输出:
mysqlVer 14.14 Distrib 5.7.16, for Linux (x86_64) usingEditLine wrapper
对于 MariaDB,您将看到如下输出:
mysqlVer 15.1 Distrib 5.5.52-MariaDB, for Linux (x86_64) using readline 5.1
记下您正在运行的数据库和版本,因为您稍后会用到它们。接下来,您必要停止数据库,以便手动访问它。
步骤 2 —— 停止数据库服务器
要更改 root 暗码,您必须先关闭数据库服务器。
对于 MySQL,您可以使用以下下令:
sudo systemctl stop mysql
对于 MariaDB,您可以使用以下下令:
sudo systemctl stop mariadb
数据库服务器停止后,您将手动访问它以重置 root 暗码。
步骤 3 —— 无需权限查抄地重新启动数据库服务器
如果您在不加载有关用户权限的信息的情况下运行 MySQL 和 MariaDB,它将允许您以 root 权限访问数据库下令行,而无需提供暗码。这将允许您在不知道暗码的情况下访问数据库。
为此,您必要制止数据库加载存储用户权限信息的 grant tables,同时还应该跳过网络,以防止其他客户端连接。
启动数据库时不加载 grant tables 或启用网络:
sudo mysqld_safe --skip-grant-tables --skip-networking &
该下令末尾的“&”将使此历程在后台运行,以便您可以继承使用终端。
如今,您可以以 root 用户身份连接到数据库,这不应该要求输入暗码。
mysql -u root
您将立即看到一个数据库 shell 提示符。
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>
如今您已经得到了 root 访问权限,可以更改 root 暗码。
步骤 4 —— 更改 root 暗码
对于较新版本的 MySQL,一种简单的更改 root 暗码的方法是使用 ALTER USER 下令。但是,由于 grant tables 没有加载,此下令如今不起作用。
让我们告诉数据库服务器通过发出 FLUSH PRIVILEGES 下令重新加载 grant tables。
FLUSH PRIVILEGES;
如今我们实际上可以更改 root 暗码。
对于 MySQL 5.7.6 及更新版本 以及 MariaDB 10.1.20 及更新版本,使用以下下令。
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
对于 MySQL 5.7.5 及更旧版本 以及 MariaDB 10.1.20 及更旧版本,使用:
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('new_password');
请确保将 new_password 替换为您选择的新暗码。
无论哪种情况,您都应该看到下令已成功实行简直认。
Query OK, 0 rows affected (0.00 sec)
暗码已更改,如今您可以停止数据库服务器的手动实例,并像之前一样重新启动它。
步骤 5 —— 正常重新启动数据库服务器
首先,停止您在步骤 3 中手动启动的数据库服务器实例。此下令搜索 MySQL 或 MariaDB 历程的 PID(历程 ID),并发送 SIGTERM 以告知其在实行整理操作后平滑退出。您可以在此 Linux 历程管理教程中相识更多信息。
对于 MySQL,使用:
sudo kill `cat /var/run/mysqld/mysqld.pid`
对于 MariaDB,使用:
sudo kill `/var/run/mariadb/mariadb.pid`
然后,使用 systemctl 重新启动服务。
对于 MySQL,使用:
sudo systemctl start mysql
对于 MariaDB,使用:
sudo systemctl start mariadb
如今,您可以通过运行以下下令确认新暗码已正确应用:
mysql -u root
-p 该下令如今应提示输入新分配的暗码。输入后,您应该如预期般得到对数据库提示的访问权限。
结论
您如今已经恢复了对 MySQL 或 MariaDB 服务器的管理访问权限。确保您选择的新 root 暗码是强大和安全的,并将其保存在安全的地方。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]