【发布时间】:2012-03-06 12:15:51
【问题描述】:
是否可以将 MAMP MySQL 库升级到 5.6?
或者我需要本地安装 MySQL (Lion)?
如果有人能指出我正确的方向......
谢谢!
【问题讨论】:
-
您确定要更新到尚未处于 RC 阶段的版本吗?
-
serverfault.com 不是更好的地方吗?
是否可以将 MAMP MySQL 库升级到 5.6?
或者我需要本地安装 MySQL (Lion)?
如果有人能指出我正确的方向......
谢谢!
【问题讨论】:
最新的 MAMP 有 MySQL 5.5.9。鉴于 MAMP 偶尔会出现不稳定和普遍缺乏支持,我会犹豫是否在内部弄乱它以升级它。
但是,禁用它附带的 MySQL,单独安装 5.6,然后将其指向 MAMP MySQL 数据文件并没有错。您需要记住运行 MySQL 附带的升级脚本,因此最好先复制 MAMP 数据并将其移动到新 MySQL 安装的数据文件夹中。
首先使用 MAMP 的唯一原因是,弄乱 Apache 的内置副本会使文件共享停止工作,因此在不同的端口上使用 MAMP 会更容易,但这不适用于MySQL 所以你应该没问题。
【讨论】:
这是可能的。我让它运行。安装 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
【讨论】:
在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
https://gist.github.com/tobi-pb/b9426db51f262d88515c
如果一切正常,您必须删除桌面上的 mySQL 备份。您可以通过在本地服务器上执行以下命令来检查当前的 mySQL-Version:
SHOW VARIABLES LIKE "%version%"
【讨论】:
$ ln -s /Applications/MAMP/tmp/mysql/mysql.sock /tmp/mysql.sock 对我来说是缺少的一步。
mysql_upgrade 步骤遇到了许多Errcode: 13 - Permission denied 错误。我通过运行sudo chown -R _mysql:_mysql /Applications/MAMP/db/mysql 解决了这个问题。这是一个受this answer启发的疯狂猜测。
set -e 添加到此脚本的开头,以在第一个错误时终止。 2.@cfx 的行ln -s /Applications/MAMP/tmp/mysql/mysql.sock /tmp/mysql.sock 需要运行before sudo /Applications/MAMP/bin/stop.sh。 3. sudo /Applications/MAMP/bin/stop.sh 只有在 MAMP 运行时才需要;否则它会失败。 4.记得更正提供给mysql_upgrade的密码。
通过 MAMP 下载官方脚本来更新你的 MySQL 到 5.6.12 http://blog-en.mamp.info/2015/07/how-to-use-mysql-5-6-with-mamp-and-mamp.html
对于那些绝对需要 MySQL 5.6 作为其开发环境的一部分的人——也许你是 Magento 开发人员——我们发布了一个 shell 脚本,将 MAMP 和 MAMP PRO 的 MySQL 组件更新到 v5.6。该脚本至少需要 MAMP 和 MAMP PRO 3.3,旧版本未经测试。
【讨论】:
自 MAMP 4.x 发布以来,只需使用该版本/升级您现有的 MAMP 安装。 MySQL 5.6 已包含在内。
【讨论】: