Installing MySQL on Mac gives you a reliable local database for development, testing, and learning. This guide walks you through the most common methods, verifies your setup, and highlights best practices for keeping your environment secure and maintainable.
You can get MySQL running with a package manager, a native installer, or containers. The steps below are tuned for macOS and assume you are comfortable with the Terminal.
| Installation method | Best for | Estimated setup time | Persistence across updates |
|---|---|---|---|
| Homebrew | Quick installs and frequent updates | 5–10 minutes | Managed by Homebrew, easy to upgrade |
| MySQL Community Installer | GUI users who prefer explicit control | 10–15 minutes | Installs to /usr/local/mysql, stable path |
| Docker | Isolated environments and reproducibility | 5–10 minutes | Container-based; data can persist with volumes |
| MAMP or similar stacks | Local web development with Apache/PHP | 10–20 minutes | Bundled with Apache, PHP, and MySQL |
Homebrew installation and service management
Homebrew is the most common package manager on macOS and streamlines installing and upgrading MySQL.
Install and start the service
First, ensure you have Homebrew installed, then run the formulae and launch the daemon.
MySQL official installer and system integration
The official MySQL package is a good choice when you prefer a graphical installer and explicit control over the files location.
Launch the installer and secure the installation
After the package installs, run the security script to remove test users, disable remote root access, and set the root password.
Docker-based MySQL for isolation and reproducibility
Docker lets you run MySQL in containers, which is helpful for testing different versions without polluting your host system.
Run a container with persistent data
Use a named volume or bind mount to keep your databases intact across container restarts and updates.
Configuration, data directory, and secure credentials
Understanding where MySQL stores configuration and data helps you manage backups, upgrades, and permissions on macOS.
Key paths and secure practices
Prefer environment variables or the macOS keychain over plain-text option files for sensitive values like passwords.
Best practices and next steps for running MySQL on macOS
- Use Homebrew or the official installer for straightforward upgrades and service integration.
- Enable automatic backups and test restores regularly.
- Run mysql_secure_installation to reduce default security risks.
- Use strong passwords and limit remote root access.
- Prefer Docker for isolated testing and version switching.
FAQ
Reader questions
How do I verify that MySQL is running after installation?
Use the appropriate command for your setup: with Homebrew run mysqladmin ping, with the official installer use MySQL.prefPane status, or with Docker run docker ps to see the container status.
What if the MySQL command-line client is not found?
Ensure the MySQL bin directory is in your PATH, and reopen or source your shell profile so the changes take effect in the current session.
How can I change the root password if I forget it?
Stop the server, start it in safe mode with skip-grant-tables, update the password table, then restart normally and use the new credentials.
How do I enable remote access to MySQL on my Mac?
Edit the bind-address in my.cnf, create users with host-specific privileges, and adjust your macOS firewall or security settings to allow the port.