# How to Install and Set Up MySQL on Windows 11, Linux, and macOS (2026 Complete Guide)

Setting up a database locally is a **fundamental backend skill**. Whether you're building with Node.js, PHP, Python, or Java — understanding how to install and configure MySQL properly gives you real control over your development environment.

In this 2026 updated guide, you’ll learn:

*   How to install MySQL on Windows 11
    
*   How to install MySQL on Linux (Ubuntu/Debian)
    
*   How to install MySQL on macOS
    
*   How to secure your installation
    
*   How to verify everything works
    

If you prefer video learning, I’ve also created a full step-by-step walkthrough here:

🎥 **Watch the complete installation tutorial:**  
👉 [https://youtu.be/vm5GjZ28MSU](https://youtu.be/vm5GjZ28MSU)

* * *

## What is MySQL?

MySQL is one of the world’s most popular open-source relational database management systems (RDBMS). It stores data in structured tables and is widely used in modern web development.

It works seamlessly with:

*   Node.js
    
*   PHP
    
*   Python
    
*   Java
    
*   .NET
    
*   MERN / MEAN Stack
    

If you're learning backend development in 2026, MySQL is still highly relevant.

* * *

# Install MySQL on Windows 11 (2026)

![https://www.w3schools.com/mysql/img_win_install1.png](https://www.w3schools.com/mysql/img_win_install1.png align="center")

![https://www.tutorials24x7.com/sites/default/files/inline-images/step6_1.jpg](https://www.tutorials24x7.com/sites/default/files/inline-images/step6_1.jpg align="center")

![https://www.javaguicodexample.com/mysqldetailedconfiguration_files/mysqlwindetailinstall001.png](https://www.javaguicodexample.com/mysqldetailedconfiguration_files/mysqlwindetailinstall001.png align="center")

4

### Step 1: Download MySQL Installer

1.  Visit the official MySQL website.
    
2.  Download **MySQL Installer for Windows**.
    
3.  Choose either:
    
    *   Web Installer (small file)
        
    *   Full Installer (offline version)
        

For most developers, the Web Installer is sufficient.

* * *

### Step 2: Run the Installer

1.  Open the downloaded file.
    
2.  Choose setup type:
    
    *   **Developer Default (Recommended)**
        
    *   Server Only
        
    *   Custom
        

If you're coding, choose **Developer Default**.

* * *

### Step 3: Configure MySQL Server

During setup:

*   Configuration Type → Development Machine
    
*   Port → Keep default (3306)
    
*   Authentication → Use strong password authentication
    
*   Set root password (important)
    

Complete the configuration process.

* * *

### Step 4: Verify Installation

Open Command Prompt and run:

```plaintext
mysql --version
```

If it shows the version number, installation is successful.

You can also open **MySQL Workbench** to manage databases visually.

* * *

# Install MySQL on Linux (Ubuntu/Debian)

![https://www.cherryservers.com/v3/assets/blog/2023-11-06/04.png](https://www.cherryservers.com/v3/assets/blog/2023-11-06/04.png align="center")

![https://i.sstatic.net/2hXQi.png](https://images.openai.com/static-rsc-1/osJLieeFqHd2Ld4ygRLHe-Aj-S2X9gVnVnFVAj3dlyJNykX17iWULDOkHP4pvmkgeeKy8t_cD5NDlMueyRDfYRIjjxZj3xGLvtjcjRN85i5np_cyp4rWm6tvjZATicWzOhUTjUzgkHtJMT8R24TibA align="center")

![https://www.netikus.net/documents/MySQLServerInstallation/setrootpassword.jpg](https://www.netikus.net/documents/MySQLServerInstallation/setrootpassword.jpg align="center")

4

### Step 1: Update System

```plaintext
sudo apt update
```

### Step 2: Install MySQL Server

```plaintext
sudo apt install mysql-server
```

### Step 3: Secure Installation

```plaintext
sudo mysql_secure_installation
```

Follow the prompts:

*   Set root password
    
*   Remove anonymous users
    
*   Disallow remote root login
    
*   Remove test database
    

Choose **Yes** for most security options.

* * *

### Step 4: Start and Enable MySQL

```plaintext
sudo systemctl start mysql
sudo systemctl enable mysql
```

Check status:

```plaintext
sudo systemctl status mysql
```

Login:

```plaintext
sudo mysql -u root -p
```

* * *

# Install MySQL on macOS (2026)

![https://dev.mysql.com/doc/mysql-installation-excerpt/5.7/en/images/mac-installer-dmg-introduction.png](https://dev.mysql.com/doc/mysql-installation-excerpt/5.7/en/images/mac-installer-dmg-introduction.png align="center")

![https://dev.mysql.com/doc/mysql-installation-excerpt/5.7/en/images/mac-installer-summary.png](https://dev.mysql.com/doc/mysql-installation-excerpt/5.7/en/images/mac-installer-summary.png align="center")

![https://dev.mysql.com/doc/mysql-macos-excerpt/5.7/en/images/mac-installer-preference-pane-location.png](https://dev.mysql.com/doc/mysql-macos-excerpt/5.7/en/images/mac-installer-preference-pane-location.png align="center")

4

## Method 1: Using DMG Installer (Recommended)

1.  Download the macOS `.dmg` installer from the official MySQL website.
    
2.  Open the file.
    
3.  Follow installation steps.
    
4.  Set root password.
    
5.  MySQL will appear in System Settings.
    

* * *

## Method 2: Using Homebrew

If you use Homebrew:

```plaintext
brew update
brew install mysql
```

Start MySQL:

```plaintext
brew services start mysql
```

Verify:

```plaintext
mysql --version
```

* * *

# Secure Your MySQL Installation

Always run:

```plaintext
mysql_secure_installation
```

This improves security by:

*   Removing anonymous users
    
*   Disabling remote root login
    
*   Removing test databases
    
*   Strengthening password setup
    

Security should never be skipped.

* * *

# Test Your MySQL Setup

Login:

```plaintext
mysql -u root -p
```

Create a test database:

```plaintext
CREATE DATABASE testdb;
SHOW DATABASES;
```

If it appears in the list, your installation works perfectly.

* * *

# Common MySQL Installation Errors (2026)

### MySQL Not Recognized as Command

Add MySQL `bin` folder to your system PATH.

Windows:

*   Search "Environment Variables"
    
*   Add MySQL bin directory to PATH
    

macOS/Linux:

```plaintext
export PATH="/usr/local/mysql/bin:$PATH"
```

* * *

### Port 3306 Already in Use

Edit MySQL configuration file (`my.ini` or `my.cnf`) and change the port number.

* * *

# Why Installing MySQL Locally Still Matters in 2026

Yes, cloud databases like:

*   AWS RDS
    
*   PlanetScale
    
*   Supabase
    

are powerful.

But if you don’t understand:

*   Local configuration
    
*   Services
    
*   Authentication
    
*   Ports
    
*   Security
    

You’ll struggle when debugging real production systems.

Strong backend developers know their environment inside out.

* * *

# Final Thoughts

Installing MySQL isn’t just a setup task. It’s foundational backend knowledge.

If you're serious about web development, master these basics before jumping into cloud abstractions.

Again, if you prefer video guidance, watch the complete walkthrough here:

🎥 [https://youtu.be/vm5GjZ28MSU](https://youtu.be/vm5GjZ28MSU)
