如果你忘記了密碼或需要重置密碼(例如,當數據庫管理員換人或被裁員!),這篇文章會派上用場。 -- Gabriel Cánepa
本文導航
-恢復 MySQL 或者 MariaDB 的 root 密碼 …… 22%
-總結 …… 72%
編譯自: http://www.tecmint.com/reset-mysql-or-mariadb-root-password/作者: Gabriel Cánepa
譯者: geekpi
如果你是第一次設置 MySQL 或 MariaDB 數據庫,你可以直接運行 mysql_secure_installation 來實現基本的安全設置。
其中一項是設置數據庫 root 帳戶的密碼 - 你必須保持私密,並僅在絕對需要時使用。如果你忘記了密碼或需要重置密碼(例如,當數據庫管理員換人或被裁員!),這篇文章會派上用場。我們將解釋如何在 Linux 中重置或恢復 MySQL 或 MariaDB 的 root 密碼。
建議閱讀: 更改 MySQL 或 MariaDB 的 root 密碼[1]。
雖然我們將在本文中使用 MariaDB,但這些說明同樣也適用於 MySQL。
恢復 MySQL 或者 MariaDB 的 root 密碼
開始之前,先停止數據庫服務並檢查服務狀態,我們應該可以看到先前設置的環境變量:
------------- SystemD -------------# systemctl stop mariadb
------------- SysVinit -------------
# /etc/init.d/mysqld stop
接下來,用 --skip-grant-tables 選項啟動服務:
------------- SystemD -------------# systemctl set-environment MYSQLD_OPTS="--skip-grant-tables"
# systemctl start mariadb
# systemctl status mariadb
------------- SysVinit -------------
# mysqld_safe --skip-grant-tables &
使用 skip tables 啟動 MySQL/MariaDB
這可以讓你不用 root 密碼就能連接到數據庫(你也許需要切換到另外一個終端上):
# mysql -u root
接下來,按照下面列出的步驟來。
MariaDB [(none)]> USE mysql;MariaDB [(none)]> UPDATE user SET password=PASSWORD('YourNewPasswordHere') WHERE User='root' AND Host = 'localhost';
MariaDB [(none)]> FLUSH PRIVILEGES;
最後,停止服務,取消環境變量設置並再次啟動服務:
------------- 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 密碼。一如往常,如果你有任何問題或反饋請在評論欄中給我們留言。我們期待聽到你的聲音。
作者簡介:
Gabriel Cánepa - 一位來自阿根廷聖路易斯梅塞德斯鎮 (Villa Mercedes, San Luis, Argentina) 的 GNU/Linux 系統管理員,Web 開發者。就職於一家世界領先級的消費品公司,樂於在每天的工作中能使用 FOSS 工具來提高生產力。
via: http://www.tecmint.com/reset-mysql-or-mariadb-root-password/
作者:Gabriel Cánepa[2] 譯者:geekpi 校對:jasminepeng
本文由 LCTT 原創編譯,Linux中國 榮譽推出
[1]: 更改 MySQL 或 MariaDB 的 root 密碼 - http://www.tecmint.com/change-mysql-mariadb-root-password/
[2]: Gabriel Cánepa - http://www.tecmint.com/author/gacanepa/