MySQL 是一款常用的關聯式資料庫管理系統,常用於建立 Web 應用程式和管理資料。在 MySQL 中,root 使用者是具有最高權限的用戶,通常用於管理整個資料庫。但在某些情況下,我們可能會忘記 root 使用者的密碼。本文將介紹一些常見的方式來重設 MySQL 的 root 使用者密碼。
如果你忘記了 root 使用者的密碼,第一個嘗試的方法應該是使用 mysqld_safe 啟動 MySQL 服務。這個方法可以在不需要密碼的情況下啟動 MySQL 並且允許你修改 root 使用者的密碼。操作步驟如下:
首先,停止 MySQL 服務。
$ sudo systemctl stop mysql
然後,使用 mysqld_safe 啟動 MySQL 服務,並指定 --skip-grant-tables。
$ sudo mysqld_safe --skip-grant-tables &
--skip-grant-tables 參數會讓MySQL 忽略掉存取控製表,這表示任何人都可以連線到MySQL伺服器,並具有root 權限。正因為如此,你應該確保只有受信任的使用者可以存取該伺服器。
接著,在另一個終端機視窗中連接到 MySQL 伺服器。
$ mysql -u root
在 MySQL 提示符號下,執行以下命令來修改 root 使用者的密碼。
mysql> UPDATE mysql.user SET authentication_string=PASSWORD('new_password') WHERE User='root';
在這個指令中,將 new_password 取代成你的新密碼。
最後,退出 MySQL 並重新啟動 MySQL 服務。
mysql> FLUSH PRIVILEGES;
mysql> quit;
$ sudo systemctl start mysql
現在你可以用新密碼登入 root 使用者了!
如果你無法使用 mysqld_safe 啟動 MySQL,也可以嘗試使用 mysql_secure_installation 腳本來重設 root 使用者的密碼。該腳本可以快速地為 MySQL 進行一些設置,包括重置 root 使用者的密碼、刪除匿名使用者、停用遠端登入等。
首先,執行以下指令安裝 mysql_secure_installation 腳本。
$ sudo apt-get update
$ sudo apt-get install mysql-server
#安裝完成後,你可以使用以下指令執行 mysql_secure_installation 腳本。
$ sudo mysql_secure_installation
在運行過程中,你需要回答幾個問題,包括設定 root 使用者密碼、刪除匿名使用者等。在設定密碼時,即使你已經忘記了 root 使用者的原始密碼,也可以將其留空,然後選擇設定新密碼。完成所有設定後,你將可以使用新密碼登入 root 使用者。
如果以上兩種方法都無法使用,最後的嘗試就是使用 skip-grant-tables 參數啟動 MySQL。雖然這種方法可以啟動 MySQL,但會使資料庫處於漏洞狀態,因此不應該在生產環境中使用。
首先,找到 MySQL 的設定檔 my.cnf 或 my.ini。該文件中應該包含以下行:
[mysqld]
skip-grant-tables
如果該文件不存在,則可以建立一個新文件,將上述兩行新增到文件中,並將其儲存為my.cnf 或my.ini。
然後,使用下列指令重新啟動 MySQL。
$ sudo systemctl restart mysql
重啟後,你將可以以 root 使用者身分登入 MySQL,而不需要輸入密碼。在 MySQL 提示符號下,輸入以下命令來修改 root 使用者的密碼。
mysql> UPDATE mysql.user SET authentication_string=PASSWORD('new_password') WHERE User='root';
將new_password 替換成你的新密碼,然後退出SQLSQL 並重新啟動。
mysql> FLUSH PRIVILEGES;
mysql> quit;
$ sudo systemctl restart mysql
現在你可以用新密碼登入 root 使用者了!
總結
忘記 MySQL root 使用者密碼是一個常見的問題,但有多種方法可以解決。大多數情況下,使用 mysqld_safe 或 mysql_secure_installation 腳本即可輕鬆重設密碼。如果這些方法不起作用,使用 skip-grant-tables 參數啟動 MySQL 可能是最後的嘗試,但不建議在生產環境中使用。
以上是mysql 忘記root 密碼的詳細內容。更多資訊請關注PHP中文網其他相關文章!