溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

centos mysql忘記密碼怎么解決

發布時間:2021-11-29 14:39:41 來源:億速云 閱讀:1254 作者:iii 欄目:MySQL數據庫
# CentOS MySQL忘記密碼怎么解決

## 前言

在使用CentOS系統運行MySQL數據庫時,管理員可能會遇到忘記root密碼的情況。本文將詳細介紹在CentOS 7/8系統上重置MySQL/MariaDB root密碼的完整步驟,涵蓋多種常見場景和注意事項。

---

## 方法一:使用--skip-grant-tables模式重置密碼

### 步驟1:停止MySQL服務
```bash
systemctl stop mysqld

步驟2:安全模式啟動MySQL

mysqld_safe --skip-grant-tables &

步驟3:無密碼登錄MySQL

mysql -u root

步驟4:更新root密碼(MySQL 5.7+)

UPDATE mysql.user SET authentication_string=PASSWORD('新密碼') WHERE User='root';
FLUSH PRIVILEGES;

步驟5:重啟MySQL服務

systemctl restart mysqld

方法二:使用init-file重置密碼(適用于MySQL 8.0)

步驟1:創建密碼重置文件

echo "ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';" > /tmp/mysql-init

步驟2:停止MySQL服務

systemctl stop mysqld

步驟3:帶初始化文件啟動

mysqld --init-file=/tmp/mysql-init &

步驟4:刪除初始化文件

rm -f /tmp/mysql-init

方法三:針對MariaDB的特殊處理

步驟1:停止服務

systemctl stop mariadb

步驟2:安全模式啟動

mysqld_safe --skip-grant-tables --skip-networking &

步驟3:執行密碼更新

UPDATE mysql.user SET password=PASSWORD('new_password') WHERE User='root';

常見問題解決方案

問題1:ERROR 1045 (28000)訪問被拒絕

  • 檢查是否以--skip-grant-tables模式啟動
  • 確認執行了FLUSH PRIVILEGES

問題2:密碼策略導致簡單密碼被拒絕

SET GLOBAL validate_password_policy=LOW;

問題3:修改密碼后仍無法登錄

檢查用戶host權限:

SELECT Host,User FROM mysql.user;
UPDATE mysql.user SET Host='%' WHERE User='root';

安全建議

  1. 密碼復雜度:建議使用12位以上包含大小寫字母、數字和特殊字符的密碼
  2. 定期更換:每3-6個月更換一次數據庫密碼
  3. 權限控制:避免所有用戶都使用root賬戶
  4. 操作審計:記錄密碼修改操作日志

附錄:不同MySQL版本的密碼字段差異

版本 密碼字段名
MySQL 5.6 password
MySQL 5.7+ authentication_string
MariaDB password

注意事項
1. 生產環境操作前建議備份數據庫
2. 操作完成后應立即恢復服務正常啟動模式
3. 密碼修改后需更新相關應用配置

通過以上方法,您應該能夠成功重置CentOS系統上MySQL/MariaDB的root密碼。如仍遇到問題,建議查看MySQL錯誤日志獲取更多信息:

tail -f /var/log/mysqld.log

”`

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女