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.

Steps to install MySQL server on Windows:

  1. Open the MySQL Community Server downloads page.
    https://dev.mysql.com/downloads/mysql/
  2. Select the required MySQL release, choose Microsoft Windows, and download the Windows (x86, 64-bit), MSI Installer package.

    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.

  3. Download the current supported Microsoft Visual C++ Redistributable for x64.
    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.

  4. Run vc_redist.x64.exe, then run the downloaded MySQL server MSI as an administrator.
  5. Finish the file installation and start MySQL Configurator from the last installer screen or from the Start menu under MySQL.

    The server does not start until MySQL Configurator completes the configuration workflow.

  6. If MySQL Configurator detects an existing server instance, confirm whether the host needs an in-place upgrade or a separate side-by-side installation before proceeding.

    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.

  7. Choose the Server Configuration Type that matches the host: Development, Server, Dedicated, or Manual.

    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.

  8. Keep TCP/IP enabled unless the server must accept local connections only. Review the classic MySQL port and X Protocol Port values before continuing.

    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.

  9. Clear Open Windows Firewall port for network access for a local-only database, or leave it selected only when remote clients must connect.

    Leaving the firewall rule open exposes the MySQL listener to other systems that can reach the Windows host.

  10. Enable Show Advanced and Logging Options only when custom log locations, a replication server ID, or initial table-name case handling must be set during setup.

    The advanced path also exposes logging options and the initial Table Names Case setting.

  11. Set a strong password for the root account, then add any day-to-day administrative account that the host requires.

    Set the account host to localhost for local-only administration, or use <All Hosts (%)> only when remote logins are actually required.

  12. Configure the Windows service settings.

    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.

  13. Keep the default Server File Permissions choice unless a custom access model is required.

    Skipping Configurator-managed file permissions leaves the data directory and related files to be secured manually after setup.

  14. Click Execute and wait for every configuration task to report success.

    Check the Log tab if service registration, port binding, or file-permission steps fail.

  15. Confirm that the MySQL Windows service is running.
    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.

  16. Verify that the server accepts a local login.
    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();".