我成功安装了mariadb,但是MAMP继续使用位于其bin文件夹中的mysql副本;具体是:
/应用/ MAMP /库/ bin中/ MySQL的
如何让MAMP使用mariadb,在我的情况下位于/ usr / local / bin / mysql?
我尝试在MAMP的bin文件夹中创建一个符号链接,指向/ usr / local / bin,但这不起作用。 HMM。
答案 0 :(得分:3)
这是我如何做到这一点,你可以使用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)
答案 1 :(得分:2)
MAMP使用 MAMP / bin / startMysql.sh 启动mysql。尝试改变它。