如果你是第一次設置 MySQL 或 MariaDB 數據庫,你可以直接運行 mysql_secure_installation 來實現基本的安全設置。
其中一項是設置數據庫 root 帳戶的密碼 - 你必須保持私密,并僅在絕對需要時使用。如果你忘記了密碼或需要重置密碼(例如,當數據庫管理員換人或被裁員!),這篇文章會派上用場。我們將解釋如何在 Linux 中重置或恢復 MySQL 或 MariaDB 的 root 密碼。
雖然我們將在本文中使用 MariaDB,但這些說明同樣也適用于 MySQL。
恢復 MySQL 或者 MariaDB 的 root 密碼
開始之前,先停止數據庫服務并檢查服務狀態,我們應該可以看到先前設置的環境變量:
1
2
3
4
|
------------- SystemD ------------- # systemctl stop mariadb ------------- SysVinit ------------- # /etc/init.d/mysqld stop |
接下來,用 --skip-grant-tables 選項啟動服務:
1
2
3
4
5
6
|
------------- SystemD ------------- # systemctl set-environment MYSQLD_OPTS="--skip-grant-tables" # systemctl start mariadb # systemctl status mariadb ------------- SysVinit ------------- # mysqld_safe --skip-grant-tables & |
這可以讓你不用 root 密碼就能連接到數據庫(你也許需要切換到另外一個終端上):
1
|
# mysql -u root |
接下來,按照下面列出的步驟來。
1
2
3
|
MariaDB [(none)]> USE mysql; MariaDB [(none)]> UPDATE user SET password = PASSWORD ( 'YourNewPasswordHere' ) WHERE User = 'root' AND Host = 'localhost' ; MariaDB [(none)]> FLUSH PRIVILEGES ; |
最后,停止服務,取消環境變量設置并再次啟動服務:
1
2
3
4
5
6
7
|
------------- SystemD ------------- # systemctl stop mariadb # systemctl unset-environment MYSQLD_OPTS # systemctl start mariadb ------------- SysVinit ------------- # /etc/init.d/mysql stop # /etc/init.d/mysql start |
這可以讓先前的改變生效,允許你使用新的密碼連接到數據庫。
總結
本文我們討論了如何重置 MariaDB/MySQL 的 root 密碼。一如往常,如果你有任何問題或反饋請在評論欄中給我們留言。我們期待聽到你的聲音。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。
原文鏈接:https://linux.cn/article-8301-1.html