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

MySQL 5.7 Windows 綠色版安裝配置全流程圖解教程

     編輯:MySQL 綜合教學

MySQL 5.7 Windows 綠色版安裝配置全流程圖解教程

MySQL 官方提供的 ZIP 免安裝版(綠色版)適合開發環境快速部署、多版本共存、便攜式使用。本文詳細記錄 MySQL 5.7.13 x64 在 Windows 環境下的完整安裝、配置、啟動與驗證流程,包含 my.ini 核心配置詳解與常見問題排查。

下載與解壓

1. 官方下載地址

https://dev.mysql.com/downloads/mysql/
# 選擇:Windows (x86, 64-bit), ZIP Archive
# 文件名:mysql-5.7.13-winx64.zip

2. 解壓至目標目錄

# 建議路徑:無中文、無空格、非系統盤
D:\MySQL\mysql-5.7.13-winx64

# 目錄結構:
# bin/        可執行文件
# docs/       文檔
# include/    頭文件
# lib/        庫文件
# share/      字符集、錯誤信息、時區數據

核心配置文件 my.ini 創建

在安裝根目錄下創建 my.ini(MySQL 啟動會自動讀取當前目錄、系統目錄、安裝目錄下的 my.ini/my.cnf)

生產級配置模板

[mysql]
# 客戶端默認字符集
default-character-set=utf8mb4

[mysqld]
# 基礎服務配置
port = 3306
basedir = D:\MySQL\mysql-5.7.13-winx64
datadir = D:\MySQL\mysql-5.7.13-winx64\data
tmpdir = D:\MySQL\mysql-5.7.13-winx64\tmp

# 字符集與校對 (關鍵!避免亂碼)
character-set-server = utf8mb4
collation-server = utf8mb4_general_ci

# 連接與並發
max_connections = 500
max_connect_errors = 1000000
thread_cache_size = 50
table_open_cache = 2000

# InnoDB 核心參數 (Windows 優化)
default-storage-engine = INNODB
innodb_buffer_pool_size = 1G          # 物理內存 50-70%,開發機可調小
innodb_log_file_size = 256M
innodb_log_buffer_size = 32M
innodb_flush_log_at_trx_commit = 2    # 開發環境可設 2 提升寫入,生產必須 1
innodb_flush_method = normal          # Windows 無 O_DIRECT,用 normal
innodb_file_per_table = ON
innodb_buffer_pool_dump_at_shutdown = ON
innodb_buffer_pool_load_at_startup = ON

# 日志配置
log-error = D:\MySQL\mysql-5.7.13-winx64\logs\error.log
slow_query_log = 1
slow_query_log_file = D:\MySQL\mysql-5.7.13-winx64\logs\slow.log
long_query_time = 1
log_queries_not_using_indexes = 1

# 二進制日志 (主從/恢復必備)
log-bin = D:\MySQL\mysql-5.7.13-winx64\logs\binlog
binlog_format = ROW
expire_logs_days = 7
max_binlog_size = 500M

# 安全與兼容
sql_mode = STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
skip-name-resolve
explicit_defaults_for_timestamp = 1

# 臨時表優化
tmp_table_size = 64M
max_heap_table_size = 64M

關鍵目錄預創建

# 必須手動創建,否則初始化失敗
mkdir D:\MySQL\mysql-5.7.13-winx64\data
mkdir D:\MySQL\mysql-5.7.13-winx64\logs
mkdir D:\MySQL\mysql-5.7.13-winx64\tmp

初始化與安裝服務

1. 以管理員身份打開 CMD/PowerShell

cd /d D:\MySQL\mysql-5.7.13-winx64\bin

2. 初始化數據目錄 (生成 root 臨時密碼)

mysqld --install MySQL57
# 成功輸出:Service successfully installed.

# 移除服務命令:
# mysqld --remove MySQL57

4. 啟動服務

mysql -u root -p
# 輸入初始化輸出的臨時密碼

2. 修改 root 密碼 (MySQL 5.7.6+ 語法)

CREATE USER 'dev'@'%' IDENTIFIED BY 'DevPassword123!';
GRANT ALL PRIVILEGES ON *.* TO 'dev'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

4. 運行安全腳本 (可選,交互式)

# 登錄驗證
mysql -u root -p -e "SELECT VERSION(); SHOW DATABASES;"

# 預期輸出:
# +-------------------------+
# | VERSION()               |
# +-------------------------+
# | 5.7.13                  |
# +-------------------------+
# +--------------------+
# | Database           |
# +--------------------+
# | information_schema |
# | mysql              |
# | performance_schema |
# | sys                |
# +--------------------+

# 創建測試庫表
mysql -u root -p -e "
CREATE DATABASE test_db CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
USE test_db;
CREATE TABLE t_user (id BIGINT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(50), create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP);
INSERT INTO t_user(name) VALUES ('張三'), ('李四');
SELECT * FROM t_user;
"

常見問題排查指南

問題現象原因分析解決方案
初始化報錯:data 目錄不為空殘留文件刪除 data 目錄下所有文件重新初始化
啟動失敗:The service did not respond配置錯誤/端口衝突/權限檢查 error.log;確認 3306 未被佔用;以管理員運行 CMD
中文亂碼字符集不一致統一 my.ini 設置 utf8mb4;連接字符串指定 characterEncoding=utf8mb4
遠程連接失敗防火牆/權限/bind-address防火牆放行 3306;創建 '%' 用戶;my.ini 無 skip-networking/bind-address=127.0.0.1
密碼過期提示5.7 默認密碼過期策略ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER; 或定期修改密碼
InnoDB 錯誤:log file size mismatch修改 innodb_log_file_size 後未重建停止服務 → 刪除 data/ib_logfile* → 重啟服務

進階:多版本共存方案

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved