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

Linux 忘記 MySQL Root 密碼重置全攻略:Skip-Grant-Tables、Debian 維護帳號、安全模式

     編輯:MySQL 資料庫相關知識

通用重置流程(Skip-Grant-Tables)

/etc/init.d/mysql stop
mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
mysql -u root mysql
UPDATE user SET Password=PASSWORD('newpass') WHERE User='root';
FLUSH PRIVILEGES;
QUIT
/etc/init.d/mysql restart
mysql -uroot -p'newpass'

擁有原密碼時的 3 種修改法

  1. mysqladmin -u root -p password 'newpass'
  2. 登錄後:USE mysql; UPDATE user SET Password=PASSWORD('newpass') WHERE User='root'; FLUSH PRIVILEGES;
  3. 同安全模式但無需停服務(需原密碼登錄)

忘記密碼且無系統 Root 權限?

必須先獲取系統 Root 權限,否則無法操作 MySQL 進程與文件。

Debian/Ubuntu 特有:debian-sys-maint 帳號

# 讀取 /etc/mysql/debian.cnf 獲取密碼
mysql -u debian-sys-maint -p
UPDATE user SET Password=PASSWORD('newpass') WHERE User='root';
FLUSH PRIVILEGES;

安全模式啟動注意

  • 用 /etc/init.d/mysql stop 停服務,勿用 pkill mysql(會導致 mysqld dead but subsys locked)
  • mysqld_safe --skip-grant-tables & 後台運行,另開終端操作
  • 修改完畢 FLUSH PRIVILEGES; 必須執行
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved