Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save ahashem/2aac7807416ddb96a4e7d41fc2ed2bf3 to your computer and use it in GitHub Desktop.
Save ahashem/2aac7807416ddb96a4e7d41fc2ed2bf3 to your computer and use it in GitHub Desktop.
Multiple MySQL Versions with Homebrew

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 mysql@5.6 --force

# 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/mysql@5.6 # => 5.6.27

# Link the older version
brew switch mysql@5.6 5.6.27

And to switch back to the current version.

# Unlink older mysql version
brew unlink mysql@5.6 

# Check current mysql version
ls /usr/local/Cellar/mysql@5.7 # => 5.7.10

# Link the current version
brew switch mysql@5.7 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/mysql@5.6/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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment