Multiple MySQL Versions with Homebrew
For homebrew version 0.9.5.
brew -v # => Homebrew 0.9.5
Install the current version of mysql.
# Install current mysql version
brew install mysql
# Start agent for current version of mysql (including on login)
ln -sfv /usr/local/opt/mysql/*.plist ~/Library/LaunchAgents
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
Install the older version of mysql.
# Find older mysql versions
brew search mysql
# Install older mysql version
brew install homebrew/versions/mysql56
# Start agent for older version of mysql (including on login)
ln -sfv /usr/local/opt/mysql56/*.plist ~/Library/LaunchAgents
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql56.plist
Then to switch to the older version.
# Unlink current mysql version
brew unlink mysql
# Check older mysql version
ls /usr/local/Cellar/mysql56 # => 5.6.27
# Link the older version
brew switch mysql56 5.6.27
And to switch back to the current version.
# Unlink older mysql version
brew unlink mysql56
# Check current mysql version
ls /usr/local/Cellar/mysql # => 5.7.10
# Link the current version
brew switch mysql 5.7.10
To verify which mysql version you're on at any time.
# Check which version of mysql is currently symlinked
ls -l /usr/local/bin/mysql # => /usr/local/bin/mysql@ -> ../Cellar/mysql56/5.6.27/bin/mysql
# Or using the mysql command
mysql --version
And to unload a mysql agent for a given version.
# Stop agent for current version of mysql
launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
rm ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
# Stop agent for older version of mysql
launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.mysql56.plist
rm ~/Library/LaunchAgents/homebrew.mxcl.mysql56.plist