# 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="/files/GNWCpKKS4ZTSiqrtTLdC" alt=""><figcaption></figcaption></figure>
   * When the **MySQL Server 8.4 Setup** pop-up window appears, click **Next** to continue.<br>

     <figure><img src="/files/MyDoAtia3FjV6ysUAye4" alt=""><figcaption></figcaption></figure>
   * On the **End-User License Agreement** page, read and accept the terms, then click **Next**.

     <figure><img src="/files/ITeerXkjumre7WhLLMSg" alt=""><figcaption></figcaption></figure>
   * On the **Choose Setup Type** page, select **Typical setup**, then click **Next**.

     <figure><img src="/files/5K48u3N79UEx7HU8Cqve" alt=""><figcaption></figcaption></figure>
   * On the **Ready to Install MySQL Server 8.4** page, click **Install**.

     <figure><img src="/files/daXVCho1yYiguSgwJ4Y8" alt=""><figcaption></figcaption></figure>
   * Ensure the **Run MySQL Configurator** box is checked, then click **Finish**.

     <figure><img src="/files/LInYbelR6kZD7kJVW4ws" alt=""><figcaption></figcaption></figure>

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

     <figure><img src="/files/gHnrN3wuMyoz3HSbzXiW" alt=""><figcaption></figcaption></figure>
   * In the **Data Directory** section, either change the default path or keep the default, then click **Next**.

     <figure><img src="/files/iOnvl44Aohpaj28lKbbG" alt=""><figcaption></figcaption></figure>
   * In the **Type and Networking** section, keep default settings unless specific changes are needed, then click **Next**.

     <figure><img src="/files/BkJTpemWHeY10DeRUA1t" alt=""><figcaption></figcaption></figure>
   * In the **Accounts and Roles** section, set the **MySQL root password**, then click **Next**.

     <figure><img src="/files/w8uq1uhX07Ek1Ufv4gcE" alt=""><figcaption></figcaption></figure>
   * In the **Windows Service** section, a MySQL service will be created with default settings. Click **Next**.

     <figure><img src="/files/E68xwDif59WP7LYxMurm" alt=""><figcaption></figcaption></figure>
   * In the **Server File Permissions** section, permissions will be set automatically. Click **Next**.

     <figure><img src="/files/stBVcHMAoPDq2Nzjt33K" alt=""><figcaption></figcaption></figure>
   * In the **Sample Databases** section, skip creating sample databases by clicking **Next**.

     <figure><img src="/files/v6x0OEyUQpNgsBW5QE6r" alt=""><figcaption></figcaption></figure>
   * In the **Apply Configuration** section, click **Execute**.

     <figure><img src="/files/gd8q1ATgPy3ZFj9QV9Yu" alt=""><figcaption></figcaption></figure>
   * In the **Configuration Complete** section, click **Finish** when successful.

     <figure><img src="/files/4UspTk3nJlvG63cTXNi5" 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="/files/QDdiDxyekAIucsRmLjoX" alt=""><figcaption></figcaption></figure>

     <figure><img src="/files/zYglxp7dBugaoY5bpsRV" alt=""><figcaption></figcaption></figure>

     <figure><img src="/files/NchCCqSakFpmwfpGS7If" alt=""><figcaption></figcaption></figure>
   * Open **my.ini** in a text editor (e.g., Notepad++ or VS Code).

     <figure><img src="/files/zIizW2ZXl2qqqHKNHOVk" alt=""><figcaption></figcaption></figure>
   * Locate the **\[mysqld]** section and add the parameters under this block.\
     \
     \&#xNAN;*Sample Reference Screenshot:*

     <figure><img src="/files/e2xL9h7XwgwZfQE5x9sy" 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="/files/fFvFFKSQoCkJ0hzxpPwI" alt=""><figcaption></figcaption></figure>
   * Locate **MySQL84** in the list.

     <figure><img src="/files/2YMOsHAEoqBF7zC1zAC7" 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="/files/1HxJSQsl263fMeixTHSW" alt=""><figcaption></figcaption></figure>
   * Open **Command Prompt** from this location.

     <figure><img src="/files/Gyd2751E3VNV0YIhY8JT" 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="/files/BeWHSnCXmZXMdiuKSpxX" 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="/files/NXMZcDw9dd3lQTPifI77" alt=""><figcaption></figcaption></figure>
   * Once downloaded, right-click the file → **Properties → Security tab** → copy the full path to the script.\
     ![](/files/MZFvgUA9ZoliwS2oN236)
   * Execute the master scripts in the MySQL terminal:

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

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

     <figure><img src="/files/YB9F06SEWHOvbhZkJ7o2" alt=""><figcaption></figcaption></figure>
   * Verify available databases:

     ```
     SHOW DATABASES;
     ```

     \
     ![](/files/L5PXvRmJxd3OPHjHCv8Q)
   * Exit MySQL:

     ```
     EXIT;
     ```

***

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


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.ovaledge.com/release8.1/deployment-and-maintenance/installation/mysql-8.4.x-on-windows.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
