How to stop and remove MySQL server on a Mac but keep the client
Remove MySQL server on a Mac
The other day I wanted to run some project via Docker Compose. Surprisingly, the MySQL service defined normally like this:
mysql:
image: tutum/mysql
env_file:
- docker.env
ports:
- "3306:3306"
didn’t start, because I apparently had MySQL server already running locally.
Trust me, I tried everything from this StackOverflow post but any time I tried to kill the process (that I saw is running with ps aux | grep mysql
) it would spun back up.
Then, I remembered that I installed MySQL server some time ago via the app called MAMP. I went in and removed all of that and also I found one post that I’ll paste here (full credit to Vitor Britto):
# Remove MySQL completely
1. Open the Terminal
2. Use `mysqldump` to backup your databases
3. Check for MySQL processes with: `ps -ax | grep mysql`
4. Stop and kill any MySQL processes
5. Analyze MySQL on HomeBrew:
```
brew remove mysql
brew cleanup
```
6. Remove files:
```
sudo rm /usr/local/mysql
sudo rm -rf /usr/local/var/mysql
sudo rm -rf /usr/local/mysql*
sudo rm ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
sudo rm -rf /Library/StartupItems/MySQLCOM
sudo rm -rf /Library/PreferencePanes/My*
```
7. Unload previous MySQL Auto-Login:
```
launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
```
8. Remove previous MySQL Configuration:
```
subl /etc/hostconfig`
# Remove the line MYSQLCOM=-YES-
```
9. Remove previous MySQL Preferences:
```
rm -rf ~/Library/PreferencePanes/My*
sudo rm -rf /Library/Receipts/mysql*
sudo rm -rf /Library/Receipts/MySQL*
sudo rm -rf /private/var/db/receipts/*mysql*
```
10. Restart your computer just to ensure any MySQL processes are killed
11. Try to run mysql, **it shouldn't work**
Keep the MySQL client for interacting with the MySQL databases
At this point, I removed everything related to MySQL, but I still needed the client to connect to the MySQL database that I ran with Docker Compose.
The fastest way (that I’ve found in this StackOverflow post) to install the client without installing the server was to install MySQLWorkbench and then add this to your path (I put these in my .zshrc
file; you may use .bashrc
):
export PATH=$PATH:/Applications/MySQLWorkbench.app/Contents/MacOS
Of course, the path may vary for you in case you’ve installed it in some other location. Anyway, hope this helps someone… ?
How to stop and remove #MySQL server on a Mac but keep the client https://t.co/0vtuBgOqMD
— Nikola Brežnjak (@HitmanHR) May 11, 2017
Leave a Comment