微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

mysql – 配置MAMP以使用mariadb

我成功安装了mariadb,但是MAMP继续使用位于其bin文件夹中的mysql副本;特别:

/应用/甲基苯丙胺/库/斌/ MySQL

如何让MAMP使用mariadb,在我的情况下位于/usr/local/bin / MysqL

我尝试在MAMP的bin文件夹中创建一个符号链接指向/usr/local/bin,但这不起作用.嗯.

解决方法:

这里是我如何做到这一点,你可以使用MysqL或mariadb,因为mariadb是一个替代品(从内存输入,所以如果有一些错误请告诉我)…

0)为了以防万一,备份你的MysqL db dir,并做一些MysqL准备以防万一

$cp -R /Applications/MAMP/db/MysqL /Applications/MAMP/db/MysqL.2013-02-06-1850.bak
$/Applications/MAMP/bin/repairMysqL.sh
$/Applications/MAMP/bin/quickCheckMysqLUpgrade.sh
$/Applications/MAMP/bin/upgradeMysqL.sh

1)复制或记下my.cnf文件中的一些设置.它可以位于各种不同的地方,所以要找到它们(有一堆):

$locate my.cnf
/Applications/MAMP/conf/my.cnf
/etc/my.cnf
/usr/local/etc/my.cnf
/usr/local/etc/my.cnf.d
/usr/local/etc/my.cnf.d/client.cnf
/usr/local/etc/my.cnf.d/MysqL-clients.cnf
/usr/local/etc/my.cnf.d/server.cnf

2)找出my.cnf被加载的内容(对于MAMP,它可能在/Applications/MAMP/conf/my.cnf中)

$/usr/local/bin/MysqL --help | grep my.cnf
order of preference, my.cnf, $MysqL_TCP_PORT,
/etc/my.cnf /etc/MysqL/my.cnf /usr/local/etc/my.cnf ~/.my.cnf 
$/Applications/MAMP/Library/bin/MysqL --help | grep my.cnf
order of preference, my.cnf, $MysqL_TCP_PORT,
/etc/my.cnf /etc/MysqL/my.cnf /Applications/MAMP/conf/my.cnf ~/.my.cnf

3)在/etc/my.cnf中备份my.cnf并编辑my.cnf以确保其中有一些参数,最重要的是端口,套接字和datadir设置,以便mariadb知道在哪里寻找你的db文件

$sudo cp /etc/my.conf /etc/my.cnf.2013-02-06-1858.bak
$sudo vi /etc/my.cnf
port     = 3306
socket   = /Applications/MAMP/tmp/MysqL/MysqL.sock 
datadir  = /Applications/MAMP/db/MysqL
tmpdir   = /Applications/MAMP/tmp/MysqL

4)在[mariadb]部分添加您可能需要的任何mariadb特定配置选项

5)安装mariadb(我喜欢使用brew,但选择你的毒药)……你可以随时做到这一点

$brew install mariadb

6)从第二步的my.conf创建一个符号链接

$sudo ln -s /Applications/MAMP/conf/my.cnf /etc/my.cnf

6a)你可以将my.cnf放在任何地方,只要在/etc/my.cnf中有一个副本或链接…这里的目标是让mariadb和MAMP的MysqL实现使用相同的配置设置.

7)现在创建一个shell shell脚本来加载apache和mariadb

$mkdir -p ~/scripts/mamp
$touch ~/scripts/mamp/startSomething.sh ~/scripts/mamp/stopSomething.sh
$chmod ug+rx ~/scripts/mamp/*Something.sh

8)获取/记下apache的当前启动/停止脚本(它的概率不会是任何花哨的东西)

$more /Applications/MAMP/bin/startApache.sh
$more /Applications/MAMP/bin/stopApache.sh

9)获取已安装的mariadb路径,并确保它是mariadb版本

$which MysqL
/usr/local/bin/MysqL
$MysqL --version
MysqL  Ver 15.1 distrib 5.5.29-MariaDB, for osx10.8 (i386) using readline 5.1

10)现在编辑startSomething.sh

# /bin/sh
/Applications/MAMP/Library/bin/apachectl start
/usr/local/bin/MysqL.server start &

11)对stopSomething.sh做同样的事情

# /bin/sh
/Applications/MAMP/Library/bin/apachectl stop
/usr/local/bin/MysqL.server stop &

12)就是这样!开始或停止事情

$~/scripts/mamp/startSomething.sh
$~/scripts/mamp/stopSomething.sh

如果你想要香草MAMP,请使用MAMP附带的MAMP应用程序.否则,玩这个稍微快一点的数据库有一堆有趣的新功能…但请记住,虽然mariadb是设计一个替代MysqL,但它不是真的反过来(MariaDB v MySQL compatibility)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐