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

MySQL 安裝配置最後一步報錯 Error Nr.1364 解決方案

     編輯:MySQL 綜合教學

錯誤現象

MySQL Installer 執行到「Start Service」或「Apply Configuration」階段彈出:Error Nr. 1364 Field 'authentication_string' doesn't have a default value。

根因

MySQL 5.7+ 將 user 表的密碼欄位從 password 改為 authentication_string,且設為 NOT NULL 無預設值。安裝精靈嘗試建立 root@localhost 時未提供此欄位值,導致寫入失敗。

即時修復 (安裝精靈未關閉時)

  1. 保持錯誤視窗開啟,另開 管理員 CMD。
  2. 免密登入 (首次安裝 root 無密碼):
    mysql -u root
  3. 修正系统表結構:
    USE mysql;
    ALTER TABLE `user` MODIFY `authentication_string` TEXT NULL DEFAULT NULL COMMENT 'Password hash';
  4. 回到安裝精靈,點選 Retry / Back → Next 繼續配置。

事後補救 (已關閉精靈、服務未啟動)

# 1. 手動安裝服務
"C:\Program Files\MySQL\MySQL Server 5.7\bin\mysqld" --install MySQL57 --defaults-file="C:\Program Files\MySQL\MySQL Server 5.7\my.ini"

# 2. 初始化資料目錄 (產生臨時密碼)
"C:\Program Files\MySQL\MySQL Server 5.7\bin\mysqld" --initialize-insecure --defaults-file="C:\Program Files\MySQL\MySQL Server 5.7\my.ini"
# 或 --initialize (產生隨機密碼,記得看 log)

# 3. 啟動服務
net start MySQL57

# 4. 登入修正密碼
mysql -uroot -p'TempPass' --connect-expired-password -e "
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewStrongPass!23';
FLUSH PRIVILEGES;"

# 5. 驗證
mysql -uroot -p'NewStrongPass!23' -e "SELECT VERSION();"

預防建議

  • 使用 MySQL 8.0+ 官方 MSI 安裝包,已修正此問題。
  • 若必須用 5.7,建議手動解壓 ZIP 版、自寫 my.ini、手動 --install、--initialize,完全可控。
  • 安裝前備份舊 data 目錄與 my.ini。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved