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
'IT' 카테고리의 다른 글
설치된 웹 팩 버전 확인 방법 (0) | 2023.08.31 |
---|---|
Swift - 장치의 WIFI IP 주소 가져오기 (0) | 2023.08.31 |
인라인 블록 DIV를 컨테이너 요소의 맨 위에 정렬 (0) | 2023.08.31 |
유니파이드 diff 파일에서 문자별 차이를 시각화하려면 어떻게 해야 합니까? (0) | 2023.08.26 |
더 나은 리눅스 셸? (0) | 2023.08.26 |