MySQL 官方提供免安裝 ZIP 包,解壓即用,適合開發測試環境快速部署。本文詳細記錄配置 my.ini、環境變數、註冊服務、修改密碼全流程。
D:\MySQL(路徑勿含中文、空格)複製 my-default.ini 為 my.ini,修改核心參數:
[client]
port=3306
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
port=3306
basedir=D:\MySQL
datadir=D:\MySQL\Data
default-character-set=utf8
default-storage-engine=INNODB
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
max_connections=100
query_cache_size=0
table_cache=256
tmp_table_size=26M
thread_cache_size=8
# InnoDB 核心
innodb_data_home_dir=D:\MySQL\Data\INNODB
innodb_additional_mem_pool_size=2M
innodb_flush_log_at_trx_commit=1
innodb_log_buffer_size=1M
innodb_buffer_pool_size=77M
innodb_log_file_size=39M
innodb_thread_concurrency=8
[WinMySQLadmin]
Server=D:\MySQL\bin\mysqld.exe
關鍵點:
datadir 必須指向 basedir 下的 Data 目錄,否則啟動報 1067 錯誤。innodb_data_home_dir 另行指定 InnoDB 表空間目錄。utf8(或 utf8mb4)。變數名:MYSQL_HOME
變數值:D:\MySQLPath,新增:%MYSQL_HOME%\bincmd 以管理員身分執行
cd /d D:\MySQL\bin
mysqld --install
# 輸出:Service successfully installed.
必須在 bin 目錄下執行,否則服務路徑錯誤導致啟動失敗。
net start mysql
# 輸出:MySQL 服務已經啟動成功。
mysqladmin -u root password "111111"
mysqladmin -u root -p"oldpass" password "newpass"
mysql -h127.0.0.1 -uroot -p111111 -e "SELECT VERSION(), USER();"
net start mysql # 啟動
net stop mysql # 停止
mysqld --remove # 移除服務
| 現象 | 可能原因 | 解決 |
|---|---|---|
| 1067 進程意外終止 | datadir 路徑錯誤、權限不足、my.ini 語法錯誤 | 檢查錯誤日誌 D:\MySQL\Data\*.err,確認 datadir 指向存在目錄 |
| 服務啟動後自動停止 | 端口 3306 被佔用、InnoDB 日誌檔大小不匹配 | netstat -ano | findstr 3306,刪除 ib_logfile* 重啟 |
| 中文亂碼 | 字符集未統一 | my.ini 所有區段設 default-character-set=utf8,資料庫/表/連線皆用 utf8 |