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

Windows 免安裝部署 MySQL 5.7 完整實戰記錄:初始化、註冊服務、Root 密碼重置

     編輯:MySQL 綜合教學

環境與下載

  • 版本:mysql-5.7.15-winx64(免安裝 ZIP 包)
  • 解壓路徑:E:\DBFiles\mysql-5.7.15-winx64\mysql-5.7.15-winx64

建立配置檔 my.ini

[client]
default-character-set=utf8

[mysqld]
port=3306
basedir="E:\DBFiles\mysql-5.7.15-winx64\mysql-5.7.15-winx64"
datadir="E:\DBFiles\mysql-5.7.15-winx64\mysql-5.7.15-winx64\data\"
tmpdir="E:\DBFiles\mysql-5.7.15-winx64\mysql-5.7.15-winx64\data\"
socket="E:\DBFiles\mysql-5.7.15-winx64\mysql-5.7.15-winx64\data\mysql.sock"
log-error="E:\DBFiles\mysql-5.7.15-winx64\mysql-5.7.15-winx64\data\mysql_error.log"

max_connections=100
table_open_cache=256
query_cache_size=1M
tmp_table_size=32M
thread_cache_size=8

innodb_data_home_dir="E:\DBFiles\mysql-5.7.15-winx64\mysql-5.7.15-winx64\data\"
innodb_flush_log_at_trx_commit=1
innodb_log_buffer_size=128M
innodb_buffer_pool_size=128M
innodb_log_file_size=10M
innodb_thread_concurrency=16
innodb_autoextend_increment=1000

join_buffer_size=128M
sort_buffer_size=32M
read_rnd_buffer_size=32M
max_allowed_packet=32M
explicit_defaults_for_timestamp=true
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

初始化資料目錄

mysqld --initialize

5.7+ 無預設 data 目錄,必須初始化。執行後會生成隨機 root 密碼(查看 .err 日誌)。

註冊 Windows 服務

mysqld install MySQL --defaults-file="E:\DBFiles\mysql-5.7.15-winx64\mysql-5.7.15-winx64\my.ini"

Root 密碼重置完整流程

  1. 啟動服務,嘗試登入 → 提示需密碼。
  2. 停止服務,在 my.ini [mysqld] 加入 skip-grant-tables=1,重啟。
  3. 免密登入:mysql -u root
  4. 修改密碼(5.7 欄位為 authentication_string):
    UPDATE mysql.user SET authentication_string=PASSWORD('root') WHERE User='root';
    FLUSH PRIVILEGES;
  5. 移除 skip-grant-tables,重啟服務。
  6. 新密碼登入,執行:
    ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';
    (5.7 密碼過期機制要求再次 ALTER USER 正式生效)

關鍵截圖:

驗證與管理工具

HeidiSQL 連線測試成功。

踩坑總結

  • 5.7 必須 --initialize,不可略過。
  • PASSWORD() 函數在 8.0 棄用,新版請用 ALTER USER ... IDENTIFIED BY。
  • skip-grant-tables 下無法執行 ALTER USER,需分兩階段:UPDATE → 重啟 → ALTER USER。
  • 路徑含空格需加雙引號;建議路徑無空格。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved