> This is a fork of original gist https://gist.github.com/nrollr/3f57fc15ded7dddddcc4e82fe137b58e, with slight changes on pointing to 5.7 version branch, instead of 8 (latest default of MySQL in Hombrew).
## Install MySQL 5.7 on macOS
This procedure explains how to install [MySQL](https://www.mysql.com) using [Homebrew](http://brew.sh) on macOS (Sierra 10.12 and up)
### Install Homebrew
* Installing Homebrew is effortless, open Terminal and enter :
`$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"`
* **Note:** Homebrew will download and install Command Line Tools for Xcode 8.0 as part of the installation process.
### Install MySQL
At this time of writing, Homebrew has MySQL version **8** as default, but as we're aiming to get **5.7**, we'll need to append `@5.7` to the default package key:
* Enter the following command : `$ brew info mysql@5.7`
* Expected output: **mysql@5.7: stable 5.7.22 (bottled) [keg-only]**
To install MySQL enter : `$ brew install mysql@5.7`
## Additional configuration
### Homebrew
* Install **brew services** first : `$ brew tap homebrew/services`
* Load and start the MySQL service : `$ brew services start mysql@5.7`.
Expected output : **Successfully started `mysql` (label: homebrew.mxcl.mysql)**
* Check of the MySQL service has been loaded : `$ brew services list` [1](#1)
* Force link 5.7 version - `$ brew link mysql@5.7 --force`
* Verify the installed MySQL instance : `$ mysql -V`.
Expected output : **Ver 14.14 Distrib 5.7.22, for osx10.13 (x86_64)**
### MySQL
Open Terminal and execute the following command to set the root password:
`mysqladmin -u root password 'yourpassword'`
> **Important** : Use the single ‘quotes’ to surround the password and make sure to select a strong password!
### Database Management
To manage your databases, I recommend using [Sequel Pro](http://www.sequelpro.com), a MySQL management tool designed for macOS.
Current version available: **1.1.2**
##### Comments
1 The `brew services start mysql@5.7` - instruction is equal to :
```
$ ln -sfv /usr/local/opt/mysql/*.plist ~/Library/LaunchAgents
$ launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
```
#### Installation Errors
If you get some sort of `can't connect to /tmp/mysql.sock` error, you will have to check that the .sock file is actually generated. Check your my.cnf file for the configurations. Sometimes, the configs from another version might be problematic.
If your config is pointing to /var/mysql/mysql.sock, sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock
Otherwise, it usually just creates the sock in /tmp.
```
remove /usr/local/var/mysql/
also check the other folders for socks
uninstall mysql
install mysql
```