# MySQL 8.4.x on Windows

This article outlines the steps to install MySQL on a Windows machine using the **.msi installer package** provided by OvalEdge. By following this guide, users can install MySQL, configure basic settings, and apply recommended system parameters to ensure optimal performance.

## Prerequisites

Ensure the following before proceeding:

* The user should be using a **Windows operating system** (Windows 10 or later is recommended).
* The user should have **administrative privileges** on the system.
* An **active internet connection** (for downloading the installer, if not already available).
* Basic knowledge of **Windows navigation** and **command prompt usage**.

## MySQL Installation Steps

1. Download MySQL Installer

   * Download the MySQL installer from the link below:\
     [MySQL 8.4.5 MSI from OvalEdge](https://ovaledge.s3.us-west-1.amazonaws.com/scripts/packages/mysql-8.4.5-winx64.msi)<br>

     <div data-gb-custom-block data-tag="hint" data-style="info" class="hint hint-info"><p>Download the latest MySQL 8.4.x MSI file from the official website:<br><a href="https://dev.mysql.com/downloads/mysql/8.4.html">https://dev.mysql.com/downloads/mysql/8.4.html</a></p></div>

2. Run the Installer
   * Double-click the downloaded **.msi file**.<br>

     <figure><img src="https://1813356899-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhTnkoJQml0pok9awFDhx%2Fuploads%2FwJsnOgFus6BDdCRq1uGr%2Fimage.png?alt=media&#x26;token=d59a0f60-9423-4193-a5f5-ba906179ec43" alt=""><figcaption></figcaption></figure>
   * When the **MySQL Server 8.4 Setup** pop-up window appears, click **Next** to continue.<br>

     <figure><img src="https://1813356899-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhTnkoJQml0pok9awFDhx%2Fuploads%2FzXUjwUT0Q9hsg6421xdU%2Fword_media_image2.png?alt=media&#x26;token=f113faaf-0d45-4c24-b7f1-31f01713a3d2" alt=""><figcaption></figcaption></figure>
   * On the **End-User License Agreement** page, read and accept the terms, then click **Next**.

     <figure><img src="https://1813356899-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhTnkoJQml0pok9awFDhx%2Fuploads%2FXwZTIWTaKurElxXHJn4f%2Fword_media_image3.png?alt=media&#x26;token=ac369591-c58c-44c5-8abb-332a2d3a6aa5" alt=""><figcaption></figcaption></figure>
   * On the **Choose Setup Type** page, select **Typical setup**, then click **Next**.

     <figure><img src="https://1813356899-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhTnkoJQml0pok9awFDhx%2Fuploads%2FgFsfcwXhhSUA2Bl1RfRD%2Fword_media_image4.png?alt=media&#x26;token=bd1f7f1a-8447-40a6-8a67-57dc1cf6466a" alt=""><figcaption></figcaption></figure>
   * On the **Ready to Install MySQL Server 8.4** page, click **Install**.

     <figure><img src="https://1813356899-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhTnkoJQml0pok9awFDhx%2Fuploads%2FHZ1ewDh8Fm5nSbbrNiOk%2Fword_media_image5.png?alt=media&#x26;token=2b5bec44-3ca7-4a45-ac2b-2beca2661c65" alt=""><figcaption></figcaption></figure>
   * Ensure the **Run MySQL Configurator** box is checked, then click **Finish**.

     <figure><img src="https://1813356899-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhTnkoJQml0pok9awFDhx%2Fuploads%2Fot136ORguWfzYyZW3vnk%2Fword_media_image6.png?alt=media&#x26;token=ba8986d7-bf76-4e69-9796-646670ed15e5" alt=""><figcaption></figcaption></figure>

3. Configure MySQL
   * In the **Welcome** section of the MySQL Configurator, click **Next**.

     <figure><img src="https://1813356899-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhTnkoJQml0pok9awFDhx%2Fuploads%2FxhwQEsVQoYwqiYthKCsg%2Fword_media_image7.png?alt=media&#x26;token=a3b91f62-8511-4134-ab7d-638c34665183" alt=""><figcaption></figcaption></figure>
   * In the **Data Directory** section, either change the default path or keep the default, then click **Next**.

     <figure><img src="https://1813356899-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhTnkoJQml0pok9awFDhx%2Fuploads%2FjCHKOjSLjJsJ8ZU9yGvi%2Fword_media_image8.png?alt=media&#x26;token=983cde7c-fd3a-4b2f-92e0-ca0b9c9e9c6f" alt=""><figcaption></figcaption></figure>
   * In the **Type and Networking** section, keep default settings unless specific changes are needed, then click **Next**.

     <figure><img src="https://1813356899-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhTnkoJQml0pok9awFDhx%2Fuploads%2FfncJDEwDIQPSv03yGs6d%2Fword_media_image9.png?alt=media&#x26;token=8f192937-1a90-4591-9190-ec90c7dff4ba" alt=""><figcaption></figcaption></figure>
   * In the **Accounts and Roles** section, set the **MySQL root password**, then click **Next**.

     <figure><img src="https://1813356899-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhTnkoJQml0pok9awFDhx%2Fuploads%2F3QwaCBxN9BQnPmbasewv%2Fword_media_image10.png?alt=media&#x26;token=1f316883-a0e1-4577-b45b-63bc814d93f3" alt=""><figcaption></figcaption></figure>
   * In the **Windows Service** section, a MySQL service will be created with default settings. Click **Next**.

     <figure><img src="https://1813356899-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhTnkoJQml0pok9awFDhx%2Fuploads%2F4nrgUi11oRHbgEXGmrcB%2Fword_media_image11.png?alt=media&#x26;token=f47c5c0a-6d14-4fe0-b292-6369f089c13f" alt=""><figcaption></figcaption></figure>
   * In the **Server File Permissions** section, permissions will be set automatically. Click **Next**.

     <figure><img src="https://1813356899-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhTnkoJQml0pok9awFDhx%2Fuploads%2FagqmkOXIzm76IOlxAwyH%2Fword_media_image12.png?alt=media&#x26;token=69a9c8e3-a0be-4424-bd1e-df0b4676c781" alt=""><figcaption></figcaption></figure>
   * In the **Sample Databases** section, skip creating sample databases by clicking **Next**.

     <figure><img src="https://1813356899-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhTnkoJQml0pok9awFDhx%2Fuploads%2Ffc8GVJyoOj5aSCqhl2bn%2Fword_media_image13.png?alt=media&#x26;token=fbf3b944-02a3-46ab-a45f-4ea294f09d41" alt=""><figcaption></figcaption></figure>
   * In the **Apply Configuration** section, click **Execute**.

     <figure><img src="https://1813356899-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhTnkoJQml0pok9awFDhx%2Fuploads%2F3BP1JHxNyWns3eNYy2Wm%2Fword_media_image14.png?alt=media&#x26;token=d601d853-166e-4c54-9c82-1203d61bfe85" alt=""><figcaption></figcaption></figure>
   * In the **Configuration Complete** section, click **Finish** when successful.

     <figure><img src="https://1813356899-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhTnkoJQml0pok9awFDhx%2Fuploads%2FUHjk6DzUnyJXlw3xHJFg%2Fword_media_image15.png?alt=media&#x26;token=7ef27ea8-9576-46a7-99eb-0e3399b4f93c" alt=""><figcaption></figcaption></figure>

### Post-Installation Configuration

1. Apply OvalEdge Recommended Parameters
   * Edit the MySQL configuration file **my.ini** to include the following parameters:

     ```
     max_binlog_size=xxxM
     max_allowed_packet=xxxM
     binlog_expire_logs_seconds=xxxxx
     group_concat_max_len=xxxxx
     innodb_buffer_pool_size=xxxxx
     ```

     <div data-gb-custom-block data-tag="hint" data-style="info" class="hint hint-info"><p>The GCS team will provide the above parameters according to the infrastructure size during deployment.</p></div>
   * Navigate to:

     ```
     C:\ProgramData\MySQL\MySQL Server 8.4
     ```

     <div data-gb-custom-block data-tag="hint" data-style="info" class="hint hint-info"><p>Ensure <strong>hidden items</strong> are visible in File Explorer.</p></div>

     \
     \&#xNAN;*Sample Reference Screenshots:*

     <figure><img src="https://1813356899-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhTnkoJQml0pok9awFDhx%2Fuploads%2Fd8NEJU1VyacWrDdEBGy6%2Fword_media_image16.png?alt=media&#x26;token=46bd7840-b536-4d7d-81e0-7b567b901045" alt=""><figcaption></figcaption></figure>

     <figure><img src="https://1813356899-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhTnkoJQml0pok9awFDhx%2Fuploads%2FtKmD4oe9yjst5LtR6NFB%2Fword_media_image17.png?alt=media&#x26;token=69b9969e-8376-463a-b6e0-5b1ab27e8982" alt=""><figcaption></figcaption></figure>

     <figure><img src="https://1813356899-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhTnkoJQml0pok9awFDhx%2Fuploads%2F0qqNYy1SRDXDLHDH240A%2Fword_media_image18.png?alt=media&#x26;token=32e9f3e5-0fd8-4f8e-8a04-245deef25522" alt=""><figcaption></figcaption></figure>
   * Open **my.ini** in a text editor (e.g., Notepad++ or VS Code).

     <figure><img src="https://1813356899-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhTnkoJQml0pok9awFDhx%2Fuploads%2FOsPLamZuWLV7rZACfMOS%2Fword_media_image19.png?alt=media&#x26;token=31170b08-f334-474b-90c6-4f4b6da67dfe" alt=""><figcaption></figcaption></figure>
   * Locate the **\[mysqld]** section and add the parameters under this block.\
     \
     \&#xNAN;*Sample Reference Screenshot:*

     <figure><img src="https://1813356899-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhTnkoJQml0pok9awFDhx%2Fuploads%2FfjUq7E0836NR3BProIs3%2Fword_media_image20.png?alt=media&#x26;token=1ea52305-cad2-45e6-acbc-fb0873f6e656" alt=""><figcaption></figcaption></figure>
   * Save and close the file.
   * Restart the MySQL service to apply changes.<br>
2. Restart MySQL Service
   * Open the **Start menu** and search for **Services**.

     <figure><img src="https://1813356899-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhTnkoJQml0pok9awFDhx%2Fuploads%2F9FVIWRg9xpi4TfYxbwWN%2Fword_media_image21.png?alt=media&#x26;token=c9e7ea9b-9e58-44a0-8c10-198c993c6164" alt=""><figcaption></figcaption></figure>
   * Locate **MySQL84** in the list.

     <figure><img src="https://1813356899-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhTnkoJQml0pok9awFDhx%2Fuploads%2F7EdZS0euwkTnRY8OgXvl%2Fword_media_image22.png?alt=media&#x26;token=d05e66ad-9902-4f7a-935d-926719fd28e9" alt=""><figcaption></figcaption></figure>
   * Right-click on the service and select **Restart**.

### Verify Installation

1. Check MySQL Version and Login
   * Navigate to the MySQL **bin directory**:

     ```
     C:\Program Files\MySQL\MySQL Server 8.4\bin
     ```

     <figure><img src="https://1813356899-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhTnkoJQml0pok9awFDhx%2Fuploads%2FEXehEBO4ahxjlH2c9jNH%2Fword_media_image23.png?alt=media&#x26;token=4c5c08d6-0c79-4650-bf43-2204c232c6c4" alt=""><figcaption></figcaption></figure>
   * Open **Command Prompt** from this location.

     <figure><img src="https://1813356899-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhTnkoJQml0pok9awFDhx%2Fuploads%2FM38jEPdwMD8Z40cGrD1P%2Fword_media_image24.png?alt=media&#x26;token=e356631d-063c-45f9-b686-38ee1602cb7b" alt=""><figcaption></figcaption></figure>
   * Run the following commands:

     ```
     mysql --version
     mysql -u root -p
     ```
   * Enter the **root password** when prompted.\
     \
     \&#xNAN;*Sample Reference Screenshot:*

     <figure><img src="https://1813356899-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhTnkoJQml0pok9awFDhx%2Fuploads%2FRQc6vjXLb32sNTfDwTEh%2Fword_media_image25.png?alt=media&#x26;token=c2f72326-138c-4d12-8f10-97549f3d3db9" alt=""><figcaption></figcaption></figure>

### Run Master Scripts

1. Executing Master Scripts
   * The GCS team will provide the **master script download link** during deployment.

     <figure><img src="https://1813356899-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhTnkoJQml0pok9awFDhx%2Fuploads%2FNYYMMX2KHUMLvyH8ttmz%2Fword_media_image26.png?alt=media&#x26;token=cfe21d18-8141-4b02-8b16-6601e6b342ac" alt=""><figcaption></figcaption></figure>
   * Once downloaded, right-click the file → **Properties → Security tab** → copy the full path to the script.\
     ![](https://1813356899-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhTnkoJQml0pok9awFDhx%2Fuploads%2FC2OMPUMQYrgpUHkVA0Ji%2Fimage.png?alt=media\&token=11a16bd9-d302-4b66-97d4-caa8b63a9796)
   * Execute the master scripts in the MySQL terminal:

     ```
     SOURCE <path\to\masterscripts>;
     ```

     \
     Replace `<path\to\masterscripts>` with the actual file path.

     <figure><img src="https://1813356899-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhTnkoJQml0pok9awFDhx%2Fuploads%2FIRlmHtTatAtC1OC7JXSu%2Fword_media_image28.png?alt=media&#x26;token=1eaa34fb-2d5b-46c0-bc43-fbadc047c5e6" alt=""><figcaption></figcaption></figure>
   * Verify available databases:

     ```
     SHOW DATABASES;
     ```

     \
     ![](https://1813356899-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhTnkoJQml0pok9awFDhx%2Fuploads%2F0m0J3i8ChuMytQf1oynG%2Fimage.png?alt=media\&token=56f7b294-2088-4972-8827-bc1b8246425d)
   * Exit MySQL:

     ```
     EXIT;
     ```

***

Copyright © 2025, OvalEdge LLC, Peachtree Corners, GA, USA.
