MAMP - 升级到MySQL 5.6

19

是否可以将MAMP的MySQL库升级到5.6?

或者我需要安装本地MySQL(Lion)?

如果有人能够指点我正确的方向...

谢谢!


您确定要更新到甚至还没有进入 RC 阶段的版本吗? - Mchl
2
服务器故障网站不是更适合这个问题吗? - Barmar
5个回答

10

在gist上找到了一个解决方案,并进行了一些修改:

#!/bin/sh

wget http://cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.22-osx10.9-x86_64.tar.gz
tar xfvz mysql-5.6*
rm mysql-5.6.22-osx10.9-x86_64.tar.gz

echo "stopping mamp"
sudo /Applications/MAMP/bin/stop.sh
sudo killall httpd mysqld

echo "creating backup"
sudo rsync -a /Applications/MAMP ~/Desktop/MAMP-Backup

echo "copy bin"
sudo rsync -av mysql-5.6.*/bin/* /Applications/MAMP/Library/bin/ --exclude=mysqld_multi --exclude=mysqld_safe 

echo "copy share"
sudo rsync -av mysql-5.6.*/share/* /Applications/MAMP/Library/share/

echo "fixing access (workaround)"
sudo chmod -R o+rw  /Applications/MAMP/db/mysql/ 
sudo chmod -R o+rw  /Applications/MAMP/tmp/mysql/

echo "starting mamp"
sudo /Applications/MAMP/bin/start.sh

echo "migrate to new version"
/Applications/MAMP/Library/bin/mysql_upgrade -u root --password=root -h 127.0.0.1

如果一切正常,你需要删除桌面上的MySQL备份。你可以在本地服务器上执行以下命令来检查当前的MySQL版本:

https://gist.github.com/tobi-pb/b9426db51f262d88515c

SHOW VARIABLES LIKE "%version%"

3
对我而言,$ ln -s /Applications/MAMP/tmp/mysql/mysql.sock /tmp/mysql.sock 这一步骤是缺失的。 - cfx
对我有用!谢谢! - msrdjan
mysql_upgrade 步骤遇到了许多 Errcode: 13 - Permission denied 错误。我通过运行 sudo chown -R _mysql:_mysql /Applications/MAMP/db/mysql 来解决这个问题。这是受 这个答案 的启发的猜测。 - Birchlabs
一些建议:1. 考虑在此脚本开头添加 set -e,以便在第一个错误时终止。2. @cfx 的行 ln -s /Applications/MAMP/tmp/mysql/mysql.sock /tmp/mysql.sock 需要在 sudo /Applications/MAMP/bin/stop.sh 之前运行。3. 只有当 MAMP 正在运行时,才需要运行 sudo /Applications/MAMP/bin/stop.sh;否则会失败。4. 记得更正提供给 mysql_upgrade 的密码。 - Birchlabs
可以在此处找到更近期的MySQL 5.6版本(适用于Mac OS X 10.11 Sierra):https://dev.mysql.com/downloads/mysql/5.6.html。CDN链接如下:http://cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.34-osx10.11-x86_64.tar.gz。 - Birchlabs

10

这是可能的。我已经将它运行起来了。安装MySQL:

http://dev.mysql.com/downloads/mysql/

下载 Mac 版本

然后将 MAMP 中的 mysql.sock 更改为新的版本

mv /Applications/MAMP/tmp/mysql/mysql.sock /Applications/MAMP/tmp/mysql/mysql.sock.back

ln -s /var/mysql/mysql.sock /Applications/MAMP/tmp/mysql/mysql.sock

重启 MAMP


10

最新的MAMP拥有MySQL 5.5.9版本。鉴于MAMP偶尔出现故障且缺乏支持,我不太想在内部升级它。

然而,禁用其中附带的MySQL,单独安装5.6版本,然后将其指向MAMP MySQL数据文件没有问题。您需要记住运行与MySQL一起提供的升级脚本,因此最好先将MAMP数据备份并将其移动到新MySQL安装的数据文件夹。

使用MAMP的唯一原因是对内置Apache进行更改可能会使文件共享功能停止工作,因此最好在不同端口上使用MAMP,但这不适用于MySQL,因此您应该没问题。


4
下载 MAMP 的官方脚本,更新你的 MySQL 到 5.6.12 版本。如果你是 Magento 开发者等需要 MySQL 5.6 环境的用户,我们已经发布了一个 shell 脚本来更新 MAMP 和 MAMP PRO 的 MySQL 组件到 v5.6。该脚本需要 MAMP 和 MAMP PRO 3.3 及以上版本,旧版未经测试。详情请参考:http://blog-en.mamp.info/2015/07/how-to-use-mysql-5-6-with-mamp-and-mamp.html

0

自从MAMP 4.x发布以来,只需使用该版本/升级您现有的MAMP安装即可。MySQL 5.6已经包含在内。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接