Skip to content

How to install MySQL on macOS

Step by step instructions to install MySQL on macOS using Homebrew

On macOS, you can install MySQL easily using Homebrew.

Run:

brew install mysql

The above command should take a while, then print something like this:

You can now start the MySQL server by running:

brew services start mysql

Now we need to secure the MySQL server. By default the server comes without a root password, so we need to make sure it’s protected.

Run:

mysql_secure_installation

The procedure can take a while, but it gives a lot of power to make sure you get the best defaults out of the box:

Since we used brew services start mysql to start MySQL, your Mac will re-start it at reboot. You can run:

brew services stop mysql

to stop this from happening, and also to immediately stop MySQL.

You can also avoid this daemon mode (that’s what we call programs that always run in the background and restart when the computer is restarted) by running:

mysql.server start

This will start MySQL and will keep it running until the computer is shut down, or until you run:

mysql.server stop

and it will not re-start it at reboot.

It’s up to you to decide which one you prefer.

Now you can connect to the server using the command:

mysql -u root -p

You will need to type the root user password after you run this command, and once you are done you should see this screen:

A great GUI (graphical) software we can use to interact with a SQLite database is TablePlus.

It comes with a free trial that’s perfect for our usage, because it’s not time-based but rather it limits the amount of concurrent connections you can make to the database.

Download it from https://tableplus.com. I know there are macOS, Windows and Linux versions.

Click “Create a new connection…” and select MySQL in the list:

then set a name for the connection, and enter “root” and the password you set previously:

Click Connect, and you should be connected to MySQL!

Note that we are connected using the root user, which should only be used for administration purposes.

Day to day use of a database should be done using a normal user. We’ll see it in a separate tutorial.


→ Here's my latest YouTube video

→ I wrote 17 books to help you become a better developer, download them all at $0 cost by joining my newsletter

JOIN MY CODING BOOTCAMP, an amazing cohort course that will be a huge step up in your coding career - covering React, Next.js - next edition February 2025

Bootcamp 2025

Join the waiting list