|tar xfvz mysql-5.7.18-macos10.12-x86_64.tar.gz|
|echo "Stopping MAMP"|
|sudo killall httpd mysqld|
|echo "Copy Bin"|
|sudo rsync -arv --progress mysql-5.7.*/bin/* /Applications/MAMP/Library/bin/ --exclude=mysqld_multi --exclude=mysqld_safe|
|echo "Copy Share"|
|sudo rsync -arv --progress mysql-5.7.*/share/* /Applications/MAMP/Library/share/|
|echo "Building Mysql 5.7 Folder"|
|sudo cp -r /Applications/MAMP/db/mysql56 /Applications/MAMP/db/mysql57|
|sudo rm -fr /Applications/MAMP/db/mysql57/mysql/innodb_*|
|sudo rm -fr /Applications/MAMP/db/mysql57/mysql/slave_*|
|sudo chmod -R o+rw /Applications/MAMP/db/mysql57/|
|sed -i.bak 's/mysql56/mysql57/g' /Applications/MAMP/Library/bin/mysqld_safe|
|echo "Fixing Access (workaround)"|
|sudo chmod -R o+rw /Applications/MAMP/tmp/mysql/|
|echo "Starting MySQL"|
|sudo /Applications/MAMP/Library/bin/mysqld_safe --port=3306 --socket=/Applications/MAMP/tmp/mysql/mysql.sock --pid-file=/Applications/MAMP/tmp/mysql/mysql.pid --log-error=/Applications/MAMP/logs/mysql_error_log|
|echo "Migrate, finaly, to new version"|
|sudo /Applications/MAMP/Library/bin/mysql_upgrade --user=root --password=root --port=3306 --socket=/Applications/MAMP/tmp/mysql/mysql.sock --force|
WARNING: Because this script only backs up the MAMP folder and not the MAMP PRO folder, it will not make backups of your databases.
I've just found that out the hard way.
Aug 7, 2017
I was able to get it working by copying the folder as @julian-tr suggested and then running the last line in the gist.
The only other issue I had was that I couldn't use
mysql from the command line because it was trying to access the mysql socket in a different directory (ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock')
So I also had to run this to update the conf file:
/Applications/MAMP/Library/bin/mysql_config_editor --verbose set --socket=/Applications/MAMP/tmp/mysql/mysql.sock
Aug 27, 2017
@david-meza solution worked for me
Sep 4, 2017
@david-meza solution also worked for me. Can't believe 5.7 still isn't provided in the MAMP core though. Also it should be noted that after you run the upgrade you need to restart the mysql server or else you'll get information_schema errors when you run queries. You can repro this by opening phpmyadmin, selecting any table and clicking the Browse button. Restarting fixes that.
Sep 13, 2017
Couldn't get it to upgrade and when a new MAMP (PRO) release came it crapped all over my efforts. Instead following their instructions and installing a separate copy of MySQL : https://documentation.mamp.info/en/MAMP-PRO-Mac/How-Tos/MySQL/InstallMySQL57/
Well, starting mysql fails almost silently with the following:
171005 10:41:42 mysqld_safe Logging to '/Applications/MAMP/logs/mysql_error_log.err'.
171005 10:41:42 mysqld_safe Starting mysqld daemon with databases from /Applications/MAMP/db/mysql57
171005 10:41:42 mysqld_safe mysqld from pid file /Applications/MAMP/tmp/mysql/mysql.pid ended
The mysql_error_log.err file is empty.
There is no other mysqld process running.
Is there a way to see why it is failing ?
Solved the problem with a nasty:
sudo chmod -R 777 /Applications/MAMP/db/mysql57
I do not understand which user the mysqld process is running from...
Oct 17, 2017
I needed to install wget on my osx
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew install wget --with-libressl
Other than that, worked fine. Using Mamp Pro 4.1.1
Nov 9, 2017
@david-meza, best solution!
Nov 24, 2017
Feb 11, 2018
Just tried Mamp pro 4.4 with the latest version : https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.21-macos10.13-x86_64.tar.gz
And works fine :D
Feb 14, 2018
Failed for me.
zsh: no matches found: /Applications/MAMP/db/mysql57/mysql/innodb_*
zsh: no matches found: /Applications/MAMP/db/mysql57/mysql/slave_*
And when I run migrate
mysql_upgrade: [Warning] Using a password on the command line interface can be insecure.
mysql_upgrade: Got error: 2002: Can't connect to local MySQL server through socket '/Applications/MAMP/tmp/mysql/mysql.sock' (2) while connecting to the MySQL server
Upgrade process encountered error and will not continue.
Feb 18, 2018
Anyone try upgrading MAMP after this process and fixing things?
I'd love to see a GIST for that process before I potentially break MAMP upgrades.
May 15, 2018
May 29, 2018
It works fine mamp 4.5
Jul 26, 2018
@julian-tr 's solution above worked for me
My solution was to simply duplicate the mysql56 folder in the Finder, rename the copy to mysql57 and start MAMP. It then offers to upgrade the databases for you.
Aug 12, 2018
If it helps I used the following:
#!/bin/sh echo "Getting MYsql 5.7" wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.23-macos10.13-x86_64.tar.gz tar xfvz mysql-5.7.23-macos10.13-x86_64.tar.gz echo "Stopping MAMP" sudo /Applications/MAMP/bin/stop.sh sudo killall httpd mysqld echo "Copy Bin" sudo rsync -arv --progress mysql-5.7.*/bin/* /Applications/MAMP/Library/bin/ --exclude=mysqld_multi --exclude=mysqld_safe echo "Copy Share" sudo rsync -arv --progress mysql-5.7.*/share/* /Applications/MAMP/Library/share/ echo "Building Mysql 5.7 Folder" sudo cp -r /Applications/MAMP/db/mysql56 /Applications/MAMP/db/mysql57 sudo rm -fr /Applications/MAMP/db/mysql57/mysql/innodb_* sudo rm -fr /Applications/MAMP/db/mysql57/mysql/slave_* sudo chmod -R 0777 /Applications/MAMP/db/mysql57/ sed -i.bak 's/mysql56/mysql57/g' /Applications/MAMP/Library/bin/mysqld_safe echo "Fixing Access (workaround)" sudo chmod -R o+rw /Applications/MAMP/tmp/mysql/ echo "Updating MAMP socket" sudo /Applications/MAMP/Library/bin/mysql_config_editor --verbose set --socket=/Applications/MAMP/tmp/mysql/mysql.sock echo "Starting MySQL" sudo /Applications/MAMP/Library/bin/mysqld_safe --port=3306 --socket=/Applications/MAMP/tmp/mysql/mysql.sock --pid-file=/Applications/MAMP/tmp/mysql/mysql.pid --log-error=/Applications/MAMP/logs/mysql_error_log echo "Migrate, finaly, to new version" sudo /Applications/MAMP/Library/bin/mysql_upgrade --user=root --password=local --port=3306 --socket=/Applications/MAMP/tmp/mysql/mysql.sock --force
Mar 29, 2019
@ronappleton 's code works fine for me. Thanks man!
There is a problem with this script and MAMP PRO. MAMP and MAMP PRO share almost all their paths, but MAMP PRO recently moved the data directory from
/Library/Application\ Support/appsolute/MAMP\ PRO/db/. So the "Building Mysql 5.7 Folder" section will not be operating on the right folders.
/Applications/MAMP/Library/bin/mysqld_safefile in MAMP will reference
DATADIR=/Applications/MAMP/db/mysql57, which means MAMP PRO on next launch will look for the databases in the old MAMP location.
So if you follow these instructions with MAMP PRO you will probably break your MAMP. MySQL will fail to launch because the data folder is empty. To fix this problem use the following commands:
sudo cp -r /Library/Application\ Support/appsolute/MAMP\ PRO/db/mysql56 /Applications/MAMP/db/mysql57
sudo rm -fr /Applications/MAMP/db/mysql57/mysql/innodb_*
sudo rm -fr /Applications/MAMP/db/mysql57/mysql/slave_*
sudo chmod -R o+rw /Applications/MAMP/db/mysql57/
sudo chmod -R o+rw /Applications/MAMP/tmp/mysql/
Now you can use the Starting MySQL command. It's running for me, though the update script is throwing a ton of errors, that's a problem to fix for later.