Running a local MySQL server on Windows 11 keeps schema changes, database imports, and application testing off shared environments while still providing a real database engine for development and troubleshooting.
Current MySQL Community Server releases for Windows are installed from a 64-bit .msi package. That package installs the server files and MySQL Configurator, and MySQL Configurator then writes my.ini, creates the initial accounts, defines the data directory under C:\ProgramData\MySQL, and can register MySQL as a Windows service.
The server is not ready until configuration finishes, and Oracle's current Windows documentation still requires the Microsoft Visual C++ runtime on the host. Port selection, firewall exposure, existing MySQL installations on the same machine, and the service account choice all change how the instance behaves after setup. The older MySQL Installer workflow remains tied to the 8.0 product line, so current 8.1+ and 8.4 LTS installs should use the server MSI plus MySQL Configurator path instead.
https://dev.mysql.com/downloads/mysql/
MySQL Installer at dev.mysql.com/downloads/installer/ is the older integrated installer line for MySQL 8.0. Current 8.1+ Windows server installs use the product-specific server MSI from the MySQL Community Server downloads page.
https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist?view=msvc-170
Oracle's MySQL 8.4 Windows documentation still calls for the Visual C++ 2019 Redistributable. Microsoft delivers that runtime family through the current supported v14 redistributable packages.
The server does not start until MySQL Configurator completes the configuration workflow.
The configurator can present upgrade actions when an older MySQL instance is already installed. Stop here if the machine is meant to keep only one development or production instance.
Development uses the least memory, Server assigns a medium amount, Dedicated favors MySQL over other workloads, and Manual leaves memory-related settings at their default configuration-file values.
The default classic MySQL port is 3306 and the default X Protocol Port is 33060.
If a port is already in use, MySQL Configurator blocks the next step until a free port is entered.
Leaving the firewall rule open exposes the MySQL listener to other systems that can reach the Windows host.
The advanced path also exposes logging options and the initial Table Names Case setting.
Set the account host to localhost for local-only administration, or use <All Hosts (%)> only when remote logins are actually required.
Configure MySQL server as a Windows service and Start the MySQL Server at System Startup are selected by default. The default service name follows the installed release, such as MySQL84, and the standard service account runs as Network Service.
Skipping Configurator-managed file permissions leaves the data directory and related files to be secured manually after setup.
Check the Log tab if service registration, port binding, or file-permission steps fail.
PS C:\> Get-Service -Name MySQL* Status Name DisplayName ------ ---- ----------- Running MySQL84 MySQL84
The returned service name matches the selected version or the custom service name chosen during configuration.
PS C:\> & "C:\Program Files\MySQL\MySQL Server 8.4\bin\mysql.exe" -u root -p -e "SELECT CURRENT_USER();" Enter password: ******** +----------------+ | CURRENT_USER() | +----------------+ | root@localhost | +----------------+
If mysql.exe is on PATH, the same check can be run as mysql -u root -p -e "SELECT CURRENT_USER();".