Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Upgrade MAMP 4 to Mysql 5.7.18 (on Sierra tested)
#!/bin/sh
wget http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.18-macos10.12-x86_64.tar.gz
tar xfvz mysql-5.7.18-macos10.12-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 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
@george-vlahakis
Copy link

george-vlahakis commented 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/

@omatrot
Copy link

omatrot commented Oct 5, 2017

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 ?

@omatrot
Copy link

omatrot commented Oct 5, 2017

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...

@matyhaty
Copy link

matyhaty commented 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

@aaronmarton
Copy link

aaronmarton commented Nov 9, 2017

@david-meza, best solution!

@jamoralesr
Copy link

jamoralesr commented Nov 24, 2017

@david-meza, excelente!!!

@kossa
Copy link

kossa commented 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

image

@gyan111
Copy link

gyan111 commented 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.

@redesigned
Copy link

redesigned commented 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.

@glitterlip
Copy link

glitterlip commented May 15, 2018

work fine!thanks

@kossa
Copy link

kossa commented May 29, 2018

It works fine mamp 4.5

@philsam
Copy link

philsam commented 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.

@ronappleton
Copy link

ronappleton commented 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

@jonasvanderhaegen
Copy link

jonasvanderhaegen commented Mar 29, 2019

@ronappleton 's code works fine for me. Thanks man!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment