make_win_mysql_portable Overview
If you do not want to use Linux, or you want MySQL on a Windows development machine without Docker, make_win_mysql_portable is the portable option. It starts from the official MySQL ZIP package, but unlike the default Oracle ZIP workflow, it also supports mixed multi-instance deployment on the same host.
1. Where it fits
It is a good fit for:
- single-node demos, labs, and test environments on Windows
- ZIP-based delivery where MSI installation is not desired
- mixed multi-instance MySQL deployment on the same Windows host
- packaged handoff scenarios where initialization and day-2 scripts should ship together
2. What it outputs
After running create_mysql_portable.bat, the script detects an official MySQL ZIP package in the repository root and produces:
- a portable directory:
output\\mysql-<package-label>-portable\\ - a distributable archive:
output\\mysql-<package-label>-portable.zip
After unpacking the generated bundle, the runtime is driven through scripts such as:
init_mysql\\init_mysql.batstart_mysql.batstop_mysql.batscripts\\connect.batscripts\\backup_scripts\\backup.batscripts\\backup_scripts\\restore.bat
3. Current operating assumptions
- It targets official Windows ZIP packages rather than MSI installers
- The current scope is primarily a single-node portable-instance workflow
- Compared with the default Oracle ZIP workflow, it also supports mixed multi-instance deployment
- First-time Windows service registration or startup typically requires administrator privileges
- Initialization uses
mysqld --initialize-insecure --console, so the password should be set immediately after first login
4. Version direction
The project is already version-family aware, covering MySQL 8.0, 8.4, and compatibility handling for later 9.x ZIP naming. It also avoids forcing legacy authentication settings into the default template, which reduces startup failures on newer MySQL lines.
5. Entry point
- Source code and usage notes: https://github.com/fanderchan/make_win_mysql_portable