首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

Linux 系統下重置 MySQL root 密碼圖文教程

     編輯:MySQL 綜合教學

Linux 系統下重置 MySQL root 密碼圖文教程

忘記 root 密碼是常見運維場景,本文演示跳過權限表驗證修改密碼的標準流程。

前置檢查

  1. 確認 MySQL 已安裝:dpkg --list | grep mysql(Debian/Ubuntu)或 rpm -qa | grep mysql(CentOS/RHEL)。
  2. 嘗試登錄確認密碼確忘記:mysql -uroot -p 報 Access denied。

檢查安裝包 登錄失敗

重置步驟

  1. 停止 MySQL 服務:
    service mysql stop
    # 或 systemctl stop mysqld
    # 確認進程已終結
    ps -ef | grep mysql

    停止服務

  2. 啟動跳過權限模式:
    /usr/local/mysql/bin/mysqld_safe --skip-grant-tables &

    跳過權限啟動

  3. 無密碼登錄並修改密碼:
    /usr/local/mysql/bin/mysql -u root -p
    # 提示密碼直接回車
    mysql> USE mysql;
    mysql> UPDATE user SET password=PASSWORD('新密碼') WHERE user='root';
    mysql> FLUSH PRIVILEGES;

    修改密碼SQL

  4. 重啟驗證:
    # 殺掉 --skip-grant-tables 進程
    pkill -9 mysqld
    # 正常啟動
    service mysql start
    # 測試新密碼
    mysql -uroot -p'新密碼'

    驗證成功

MySQL 5.7+ / 8.0 注意

  • user 表無 password 列,改為 authentication_string:
    UPDATE user SET authentication_string=PASSWORD('新密碼') WHERE user='root';
  • 8.0 建議用 ALTER USER 'root'@'localhost' IDENTIFIED BY '新密碼';(需正常啟動下執行)。
  • --skip-grant-tables 模式下 8.0 需額外執行 FLUSH PRIVILEGES; 才能生效修改。

安全建議

密碼重置後立即檢查是否有異常賬號、遠程 root 登錄權限,執行 mysql_secure_installation 加固。

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