Anyone have the inside scoop on when Homebrew will be updated to support MySQL 8's first general release (8.0.11)? I can't seem to find it by searching, but I bet someone here knows :)
4 Answers
Homebrew pushed MySQL 8.0.11 as an upgrade yesterday (Wed, 13 June 2018). I thought I had it pinned, but no such luck.
It's a total disaster:
MySQL 8.0.11 uses caching_sha2_password
as the default authentication method (leave it to Oracle to do something like this in a point release, but there you have it).
So far, it breaks everything I've tried: phpMyAdmin, Nextcloud, and WordPress.
I'll be rolling back to 5.7.22 later today.
Update 17 June 2018 6:50PM CDT:
Three step solution:
Add to
[mysqld]
section ofmy.cnf
file (found in/usr/local/etc/
for Homebrew's installation):default-authentication-plugin=mysql_native_password
At shell prompt:
mysql -u root -p > ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '[password]'; > exit
Reboot server
brew services restart mysql
Update 18 June 2018 11:53PM CDT:
The solution provided above is partial, at best. In my experience MySQL 8.0.11 is not nearly ready for production (or even development) use.

- 946
- 4
- 15
- 43

- 621
- 1
- 7
- 11
-
7
-
2since 8.0 cannot be downgraded to 5.7 without having backup of database prior to upgrade. also, update did not check if my database/tables can run under 8.0. as suggested in 8.0 upgrade scenarios https://dev.mysql.com/doc/refman/8.0/en/upgrading-strategies.html `mysqlcheck -u root -p --all-databases --check-upgrade` by running this, brew could easily see that my db cannot work on 8.0, before it did the upgrade. – seven Jun 14 '18 at 12:13
-
12I had the luck to be able to roll back and keep all my databases intact with `brew remove mysql` and `brew install mysql@5.7`. – Ortomala Lokni Jun 14 '18 at 13:56
-
1I didn't have any joy rolling back after the 8.x upgrade, but fortunately I had a Time Machine backup of `/usr/local/var/mysql` from which I was able to restore. After removing MySQL 8 (`brew remove mysql`) and then installing 5.7 again (`brew install mysql@5.7`) as directed above it's working again. – BeesonBison Jun 15 '18 at 14:34
-
I've been dinking with this all day after everything exploded when I updated Brew. I don't want anything to do with MySQL 8 so I ran the brew remove mysql command and then brew install mysql@5.7 which gives me 5.7 back, but when I try to log into it via the command line using mysql -uroot, I get the following error. It's maddening. Any ideas on what might be going on here? ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) – Jacob Graf Jun 16 '18 at 00:45
-
After installing mysql@5.7, I can't run the mysql client. Seems like even when installing old versions, the binaries should stay the same. – cayblood Jun 23 '18 at 23:58
-
@BeesonBison Can you be more specific? I have what I knew was a working `/usr/local/var/mysql` in a disk image that predates the upgrade. Are you saying I can brew remove everything related to mysql, `brew reinstall mysql@5.7` and then copy the working `/usr/local/var/mysql` from the image to the same path on my running instance. I assume mysql can't be running during the copy process. What about ownership and permissions of both the mysql directory and its contents. – John D. Jul 09 '18 at 04:07
-
1@JohnD. yes that's correct, just make sure you stop MySQL before you copy over from your disk image and then restart it afterwards. That's all I did. RE: ownership, I think it should be `yourusername:admin` and chmod 755 should be fine for permissions. I'm not an expert on that though so someone else might be able to advise? – BeesonBison Jul 09 '18 at 09:04
-
@BeesonBison Thank you _very_ much! That worked perfectly and I was able to dump out the tables successfully. I did a full removal of all traces of MySQL, both homebrew and some existing direct installations. I renamed the original `/usr/local/var/mysql` directory to `mysql-old` and then did `brew install mysql@5.7`. After starting and stopping the service I renamed `/usr/local/var/mysql` to `mysql-new` and then renamed the old one to the to `mysql`. Starting up took a long time but it worked. – John D. Jul 09 '18 at 20:15
-
I rebuilt all my databases from dumps on a previous machine while setting up a new environment with 8.0.11, and rolling back was not smooth when the databases were created with 8.0.11. Had to scrap them to get 5.7 rolling. – nJGL Oct 03 '18 at 07:47
-
Just wanted to say thank you for this, I thought I was going mad trying to get this working properly. As another possible workaround if this doesn't work (not entirely sure why, sorry), I've switched to using a docker container for 5.7.24 and had no problems, but I would never have believed that this is what Homebrew did without your answer here. I'm switching to use docker containers over brew installing things wherever possible as a result of this, it's completely ridiculous. – JimmyM Jan 18 '19 at 11:27
I managed to overcome this without removing my all database which from mysql version 5.7.
First, simply upgrade database with this command
mysql_upgrade -u root
https://stackoverflow.com/a/51486493/2342289
Last. Install sequel-pro-nightly. I need this because i can browse my db from the command but not from sequal-pro. So, luckily the nightly sequel-pro works.
brew cask install sequel-pro-nightly
Then, boom. Everything is back. Sigh.

- 1,051
- 12
- 14
- Removed MySql using the steps on this site.
- Do
brew install mysql@5.7
. - Go to this site and follow the instructions starting at step 4.
- Be sure to find out if the paths on step 5 actually exist on your machine. The paths listed on that site didn't work for me. I had to find them on my own. Start by looking in
/usr/local
and search out the mysql folder from there and dig until you find the files he has listed.
I stopped at step 7 because I was able to take it from there. Hopefully, you can as well.

- 404
- 2
- 4
- 15