8

私は mariadb を正常にインストールしましたが、MAMP はその bin フォルダーにある mysql のコピーを引き続き使用します。具体的には:

/アプリケーション/MAMP/ライブラリ/bin/mysql

私の場合は/usr/local/bin/mysqlにあるmariadbをMAMPに使用させるにはどうすればよいですか?

/usr/local/bin を指すシンボリック リンクを MAMP の bin フォルダーに作成しようとしましたが、うまくいきませんでした。うーん。

4

2 に答える 2

3

mariadb はドロップイン置換であるため、mysql または mariadb のいずれかを使用できるようにする方法を次に示します (メモリからこれを入力するため、間違いがある場合はお知らせください)...

0) 念のため mysql db dir のバックアップを作成し、念のため mysql prep を実行します。

$ 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 の設定です。 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) ステップ 2 の my.conf からシンボリック リンクを作成します。

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

6a) /etc/my.cnf にコピーまたはリンクがある限り、my.cnf をどこにでも配置できます... ここでの目標は、mariadb と MAMP の mysql の実装で同じ構成設定を使用することです。

7) 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 の互換性)

于 2013-02-07T02:47:34.530 に答える
2

MAMP はMAMP/bin/startMysql.shを使用して mysql を起動します。変更してみてください。

于 2012-06-18T09:39:47.170 に答える