IT

mariadb를 사용하도록 MAMP 구성

itgroup 2023. 8. 31. 23:48
반응형

mariadb를 사용하도록 MAMP 구성

mariadb를 설치했지만 MAMP는 bin 폴더에 있는 mysql 복사본을 계속 사용합니다. 구체적으로 다음과 같습니다.

/응용프로그램/MAMP/라이브러리/bin/mysql

MAMP가 /usr/local/bin/mysql에 있는 mariadb를 사용하려면 어떻게 해야 합니까?

MAMP의 bin 폴더에 /usr/local/bin을 가리키는 심볼 링크를 생성하려고 했지만 작동하지 않았습니다.음.

MAMP는 MAMP/bin/startMysql.sh 을 사용하여 mysql을 시작합니다.바꿔보세요.

mariadb는 대체품이 떨어지기 때문에 mysql이나 mariadb를 사용할 수 있도록 하는 방법입니다. (이것을 메모리에서 삭제하므로, 몇 가지 실수가 있으면 알려주세요.

만약을 위해 당신의 mysql dbdir를 백업하고, 만약을 위해 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

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

어떤 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

/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

[mariadb] 섹션에서 원하는 mariadb 관련 구성 옵션 추가

mariadb를 설치합니다. (나는 양주를 사용하는 것을 좋아하지만, 당신의 독을 선택하세요.)그리고 당신은 정말 언제든지 이것을 할 수 있습니다.

$ brew install mariadb

2단계의 my.conf에서 심볼릭 링크를 만듭니다.

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

6a) 복사본이나 링크가 /etc/my.cnf에 있는 한 my.cnf를 어디에나 둘 수 있습니다.여기서 목표는 mariadb와 MAMP의 mysql 구현이 동일한 구성 설정을 사용하도록 하는 것입니다.

이제 아파치와 mariadb를 로드할 셸 스크립트를 만듭니다.

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

Apache에 대한 현재 시작/중지 스크립트를 가져오거나 기록합니다(아무것도 멋지지 않을 것입니다).

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

설치된 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 vs MySQL 호환성).

언급URL : https://stackoverflow.com/questions/46016403/how-can-i-create-a-mariadb-drop-in-replacement-for-mamp

반응형