首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

MySQL本地root登入失敗?排查步驟與終極解決方案

     編輯:程式設計疑難解答

錯誤現場還原

[root@centos ~]# mysql -u root -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
# 多次嘗試均失敗,甚至 using password: NO 也報同樣錯誤

系統性排查清單

  1. 確認密碼正確性: 是否包含特殊字符需轉義?是否誤輸大小寫?
  2. 檢查用戶宿主: SELECT User, Host FROM mysql.user; 確認存在root@localhost
  3. 驗證插件認證: MySQL 8.0+ 默認caching_sha2_password,舊客戶端可能不支援
  4. 跳過權限表啟動: mysqld --skip-grant-tables 免密登入重置密碼
  5. 檢查網絡/套接字: --protocol=socket 強制本地套接字連接

終極方案:重裝並重置(謹慎操作)

若以上均無效且無重要數據,可考慮:

# 1. 完全卸載
yum remove mysql-server mysql -y
rm -rf /var/lib/mysql /etc/my.cnf

# 2. 重新安裝
yum install mysql-server -y
systemctl start mysqld

# 3. 安全初始化(會提示設定root密碼)
mysql_secure_installation

避坑指南

  • 生產環境嚴禁直接重裝,優先用--skip-grant-tables重置
  • 建立root@'%'遠程用戶時務必限制IP白名單
  • 定期導出mysql.user表備份權限配置
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved