How to install MySQL server on Mac OS X

Mac OS X has a great design and a lot of tasks are really easy to do. Unfortunately if you want to have MySQL server installed on your Mac this is not always as simple as everything else.

But wait do I need MySQL server?

In many cases you do not. If this is going to be the only computer on which you will have your sales information, you are planning to have only a few operations every day, or you will connect to other computers using IncoCloud, then no, you can use SQLite and keep things simple.

But if you have more than one computer in the office/shop/restaurant connected together – one or more front office computers or tablets and one or more back office computers all in a single location, for example, or you expect many operations made every day, then you need MySQL server to handle the big load.

The first step is to download MySQL server. Go to the MySQL web site and select the version that matches your version of Mac OS. Select the DMG archive version. After the DMG file finishes downloading click on it to open. Then open the installer inside and follow the installation steps.

Warning! Because Oracle has changed the MySQL installer and the default parameters of the MySQL server in newer versions the following steps may no longer work. These steps were tested with MySQL server version 5.5.48 for Mac OS 10.9 (which should work on newer versions too). Please download and install version 5.5.48 to make sure that all the steps will work correctly. If for some reason the installer is no longer available on the MySQL web site you can download it from here.

After the installation has finished, open the System Preferences and you should see the MySQL icon. Click on it to open the MySQL server preferences. Now press the Start MySQL server button so MySQL would actually start working. Make sure to leave the checkbox “Automatically Start MySQL Server on Startup” so you won’t have to do that again.

Now comes the tricky part. By default MySQL server installs without password and does not restrict access to the information on it. This is not a great idea for us because your information is sensitive and we don’t want the whole world to be able to access it.

To change that open Spotlight and search for Terminal. Launch the Terminal, type these commands and press Enter after each one of them:

 

cd /usr/local/mysql

This will change the current directory to the one where MySQL server is installed

sudo bin/mysql_secure_installation

This command will ask for your computer password. While typing it no characters will be displayed which is normal so don’t worry. Press Enter when finished. This will start a script which will ask you several questions and then reconfigure MySQL.

Set root password? [Y/n]

Select Y and press Enter. After that enter a password for MySQL and press Enter. Re-enter the password and press Enter again. This will be the password that IncoPOS will need when connecting to MySQL server.

Remove anonymous users? [Y/n]

Select Y and press Enter. You don’t need anyone but you or someone you told your password to touch your data.

Disallow root login remotely? [Y/n]

Here you have to decide. If you have more than one computer that will be using this data then answer n. If this information will be accessed only from this computer then select Y. In all cases this can later be changed by using the same commands.

Remove test database and access to it? [Y/n]

Select Y and press Enter. You don’t need that test database so it is safe to remove it.

Reload privilege tables now? [Y/n]

Select Y and press Enter. This will make the changes you did effective now.

This is it! Now you have MySQL installed and secured on your Mac.