2014-12-05 2 views
5

MacOS 10.10, 최신 macports. 나는Macports와 함께 MySQL 5.6을 설정하십시오.

port install mysql56-server mysql56 

[email protected]_0를 설치합니다 설치 포트 3306

1) 에서 MySQL 5.6 싶어 그

which mysql 

또는

which mysql56 

후 아무것도 반환하지 않습니다.

그래서 첫 번째 질문은 어디에 mysql 클라이언트입니까?

설치 스크립트를 구성

2) 다음

서버를 실행을 요청
/opt/local/lib/mysql56/bin/mysqladmin -u root password 'new-password' 

내가

cd /opt/local ; /opt/local/lib/mysql56/bin/mysqld_safe & 
012,351하여 시작할

sudo -u _mysql /opt/local/lib/mysql56/bin/mysql_install_db 

을 할 제안 6,

다음 mysqladmin 데이터 소켓에 대해 불평하고 난 /opt/local/etc/mysql56/macports-default.cnf에 그 명령을 확인 간다 후를 --skip-네트워킹 을 주석 처리합니다. 다음

/opt/local/lib/mysql56/bin/mysqladmin -u root -h bp.local password 'new-password' 

정말 MySQL의 클라이언트없이 여기에 무엇을 해야할지하지 않습니다

error: 'Host '10.0.1.9' is not allowed to connect to this MySQL server' 

반환합니다. 그리고 나는 꼼짝 못한다. 제안 사항이 있으십니까?

답변

13

MacPorts는 서로 충돌하지 않는 방식으로 MySQL과 그 파생 상품을 설치하며 동시에 설치할 수 있습니다. 그것은 비표준 경로에 mysql 바이너리를 넣는 것을 포함한다. port contents mysql56 | grep -E '/s?bin/'을 사용하여 이진 파일을 찾을 수 있습니다. MacPorts에는 편의를 위해 심볼릭 링크를 만드는 선택 메커니즘이 함께 제공됩니다 (/opt/local/bin). MySQL 5.6을 기본값으로 만들려면 sudo port select --set mysql mysql56을 실행하십시오.

서버를 시작하려면 MacPorts의 데몬 제어 기능 (launchd의 프론트 엔드)을 사용할 수 있습니다. sudo port load mysql56-server은 서버를 시작하고 재부팅 후 서버가 실행 중인지 확인하기 위해 sudo port unload mysql56-server이 실행을 취소하고 서버를 중지합니다.

--skip-networking은 여러 MySQL 버전을 나란히 실행할 수 있도록하는 기본값입니다. 자세한 내용은 port notes mysql56을 참조하십시오.

유닉스 소켓을 사용하여 MacPorts의 MySQL에 연결할 수 있습니다. 그러나 필자는 머리 위로부터 경로를 기억하지 않습니다. 그래도 http://trac.macports.org/wiki/howto/MAMP이 있다고 확신합니다.로컬 서버에 연결하려면 bp.local 대신 localhost 또는 127.0.0.1을 사용해야합니다. 이는 분명히 개인 IP 주소로 해석되므로 루프백 인터페이스가 아닌 OS의 IP 스택을 통과합니다.

내가 포트 select``시도하지만, 단 하나의 하이픈 :(로했다
+0

. 그리고 난 당신이 설치할 필요가 이해'mysql_select'이 그것을 사용할 수 있도록. 당신은 MySQL의 시작에 대한 명령을 추가 할 수 있다면 @neverpanic – coviex

+0

mysql56은 mysql_select에 의존하기 때문에, mysql56이 설치되어있을 때 항상 설치된다 (MacPorts가 의존성을 무시하도록 강요하지 않는 한) 불행히도 launchd는 AFAIK를 재부팅 할 때 항상 데몬 상태를 유지하기 때문에 launchd plists로 "다음 재부팅 때까지"시작할 방법이 없습니다. 그래도 시작 명령이 작동 할 것입니다. 같은 환경과 사용자를 사용해야합니다. plist가 그렇듯이. – neverpanic

+0

당신은 할 수 있습니다. '/ opt/local/lib/mysql56/bin/mysqladmin -u root -p variables'를 실행하고'socket' 행을 찾아서 소켓 경로를 찾으십시오. 나에게 그것은'/ opt/local/var/run/mysql56/mysqld.sock'이다. – ilpssun