Skip to content

How to install MySQL on macOS

New Course Coming Soon:

Get Really Good at Git

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.

Are you intimidated by Git? Can’t figure out merge vs rebase? Are you afraid of screwing up something any time you have to do something in Git? Do you rely on ChatGPT or random people’s answer on StackOverflow to fix your problems? Your coworkers are tired of explaining Git to you all the time? Git is something we all need to use, but few of us really master it. I created this course to improve your Git (and GitHub) knowledge at a radical level. A course that helps you feel less frustrated with Git. Launching Summer 2024. Join the waiting list!
→ Read my SQL Tutorial on The Valley of Code

Here is how can I help you: