首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

Ubuntu 下忘記 MySQL Root 密碼?完整重置教學

     編輯:MySQL 資料庫相關知識

在 Ubuntu 系統上安裝 MySQL 資料庫作為開發測試環境時,若初始密碼設定過於隨意,久未使用便容易遺忘。本文記錄一套經實測可行的 Root 密碼重置流程,參考自國外技術文檔,比網上常見教程更可靠。

重置步驟

  1. 停止 MySQL 服務
    sudo /etc/init.d/mysql stop
  2. 以跳過權限表模式啟動 MySQL
    sudo mysqld_safe --skip-grant-tables &
    此模式允許無密碼登入,且在後台運行。
  3. 嘗試無密碼登入
    mysql -u root
    若出現 Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' 錯誤,通常是 Socket 檔案權限或不存在導致。
  4. 修復 Socket 權限問題
    執行以下指令建立 Socket 檔案並修正擁有者:
    sudo touch /var/run/mysqld/mysqld.sock
    sudo chown -R mysql:mysql /var/run/mysqld
    sudo chown -R mysql:mysql /var/lib/mysql
  5. 重新啟動跳過權限模式並登入
    再次執行步驟 1 和 2,然後執行 mysql -u root。成功後會顯示 MySQL Monitor 歡迎訊息。
  6. 修改 Root 密碼
    在 MySQL 提示符下依序執行:
    USE mysql;
    UPDATE user SET password=PASSWORD('新密碼') WHERE user='root';
    FLUSH PRIVILEGES;
    QUIT;
  7. 以正常模式重啟 MySQL
    sudo /etc/init.d/mysql stop
    sudo /etc/init.d/mysql start
  8. 驗證新密碼
    mysql -u root -p 輸入新設定的密碼,即可正常登入。

注意事項

MySQL 5.7 以上版本 password 欄位已改為 authentication_string,更新語法請改為:
UPDATE user SET authentication_string=PASSWORD('新密碼') WHERE user='root';
MySQL 8.0 更建議使用 ALTER USER 'root'@'localhost' IDENTIFIED BY '新密碼';

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved