::Third Party::/::SQL:: | Posted by 그냥그냥그 2011. 1. 29. 17:19

:: MySQL MAC에 설치하기 ::


원문 :
http://www.mysqlkorea.com/sub.html?mcode=manual&scode=user&m_no=22912&cat1=1108&cat2=1120&cat3=0&lang=k


내용 :

2.5. Mac OS X MySQL 설치하기

 

 Mac OS X 10.3.x (“Panther”) 또는 이후 버전에 바이너리 타볼 (tarball) 배포판 대신에 PKG버전에 있는 Mac OS X바이너리 패키지를 사용해서 MySQL을 설치할 수 있다.  패키지는 Mac OS X (예를 들면, 10.1.x 또는 10.2.x) 보다 구형 버전은 지원하지 않음을 알아 두기 바란다.

 

이 패키지는 파인더에서 맨 처음 더블 클릭해서 마운트해야 하는 아이콘인 디스크 이미지(.dmg) 파일 안에 들어 있다. 그 다음에는 이미지를 마운트해서 내용물을 화면에 보이게 한다.

 

MySQL을 다운 로드 하기 위해서는, Section 2.1.3, “MySQL 다운 로드 하기를 참조한다.

 

Note: 설치 작업을 진행하기 전에 반드시 모든 MySQL 서버 인스턴스를 MySQL 관리자 어플리케이션 (Mac OS X 서버)으로 셧다운 시키거나 또는 명령어 라인에서 mysqladmin shutdown으로 셧다운 시켜야 한다.

MySQL PKG 파일을 실제로 설치 하기 위해서는 패키지 아이콘을 더블 클릭한다. 더블 클릭을 하면 Mac OS X 패키지 인스톨러가 구동되고, MySQL이 설치되는 동안 사용자를 도와줄 것이다.

 

Mac OS X 패키지 인스톨러에 있는 버그 때문에 목적 (destination) 디스크 선택 다이어로그에서 아래와 같은 에러 메시지를 볼 수 있을 것이다:

 

You cannot install this software on this disk. (null)

 

이 에러가 발생하게 되면, Go Back 버튼을 눌러서 이전 페이지로 복귀한다. 그 다음에 Continue 버튼을 다시 한번 눌러서 목적 디스크 선택을 다시 한번 하게 되면 목적 디스크를 올바르게 선택할 수 있게 될 것이다.

우리는 이 버그를 애플사에 통보 하였으며 지금 이 문제를 애플사가 검토하고 있는 상황이다.

 

MySQL Mac OS X PKG 는 패키지 자체를 /usr/local/mysql-VERSION 에 설치하고 심볼릭 링크 /usr/local/mysql도 설치하는데, 이것은 새로운 위치를 가리키게 된다.  /usr/local/mysql 라는 디렉토리가 존재한다면, 이것은 /usr/local/mysql.bak 라는 이름으로 변경된다. 또한, 인스톨러는 mysql_install_db를 실행시켜서 mysql 데이터 베이스 내에 그랜트 테이블을 생성한다.

 

설치 레이 아웃은 tar 파일 배포판의 레이 아웃과 비슷한 형태가 된다; 모든 MySQL 바이너리들은 /usr/local/mysql/bin 디렉토리에 위치하게 된다. MySQL 소켓 파일은 디폴트로 /tmp/mysql.sock 형태로 만들어 진다.

 

MySQL 설치는 mysql 이라는 Mac OS X 사용자 계정을 요구한다. 이 이름의 사용자 계정은 Mac OS X 10.2이후 버전에서는 디폴트로 존재하고 있다.

 

Mac OS X 서버를 구동하고 있다면, MySQL버전은 이미 설치되어 있어야 한다. 아래의 테이블은 Mac OS X서버 버전에 포함되어 있는 MySQL버전을 나타내는 것이다.

 

Mac OS X Server Version

MySQL Version

10.2-10.2.2

3.23.51

10.2.3-10.2.6

3.23.53

10.3

4.0.14

10.3.2

4.0.16

10.4.0

4.1.10a

 

이 매뉴얼에서는 공식적인 MySQL Mac OS X PKG 설치만을 다루고 있다. MySQL설치에 관련된 애플사의 도움말을 읽기 바란다: “Help View” 어플리케이션을 구동 시킨 후에, “Mac OS X Server” 도움말을 선택하고, “MySQL” 관련 부분을 찾은 다음에 “Installing MySQL”이라는 항목을 읽기 바란다.

 

 예전에 http://www.entropy.ch 에서 얻은 Mac OS X를 위한 마크 라야나지 (Marc Liyanage) MySQL 패키지를 사용하였다면, 그곳에서 설명하는 바이너리 설치 레이 아웃을 사용해서 패키지를 업데이트 시킬 수 있을 것이다.

 

 마크 3.23.xx 버전 또는 MySQL Mac OS X 서버 버전으로부터 공식 MySQL PKG로 업그레이드를 하고자 한다면, MySQL권한 테이블을 현재의 포맷으로 변환할 필요가 있는데, 그 이유는 몇 가지 새로운 보안 권한이 추가 되었기 때문이다.

 

시스템 시작 시점에 MySQL을 자동으로 구동시키고자 한다면,  MySQL스타트업 항목 (Startup item)도 함께 설치를 해야 한다. 이것은 별개의 패키지 형태로 Mac OS X설치 디스크 이미지에 있다. 간단히 MySQL StartupItem.pkg 아이콘을 더블 클릭한 후에 설치 가이드를 따라서 설치를 진행하면 된다. 스타트업 아이템은 오직 한번만 설치하면 된다는 점을 알아두자! 나중에 MySQL패키지를 업그레이드할 때마다 계속 설치할 필요가 없다.

 

MySQL 스타트업 아이템은 /Library/StartupItems/MySQLCOM 안에 설치된다 (MySQL 4.1.2 이전 버전에서는, /Library/StartupItems/MySQL에 설치 되었으나 Mac OS X가 설치하는 MySQL 스타트업 아이템과 서로 충돌을 일으켰다). 스타트업 아이템 설치는 변수 MYSQLCOM=-YES-를 시스템 구성 파일인 /etc/hostconfig에 추가 한다. MySQL 스타트업 자동 실행을 비활성화 시키고자 한다면, 간단하게 이 변수를 MYSQLCOM=-NO-로 변경시키면 된다.

 

Mac OS X Server서버에서, 디폴트 MySQL 설치는 /etc/hostconfig 파일에 있는 변수 MYSQL을 사용한다. MySQL 개발사의 스타트업 아이템 인스톨러는 MYSQL=-NO-로 변수를 설정하여 비활성화 시킨다. 이것은 MySQL 개발사의 스타트업 아이템이 사용하는 MYSQLCOM 변수와 부팅 시간에 서로 충돌을 일으키는 것을 피하기 위해서이다. 하지만, 이것은 동작중인 MySQL 서버를 셧다운 시키지는 않는다. 사용자 스스로가 셧다운을 해야 한다.

 

설치 후에는, 터미널 윈도우에서 아래의 명령어를 실행시켜서 MySQL을 시작할 수 있다. 이것을 진행하기 위해서는 관리자 (administrator) 권한이 있어야 한다.

 

이 명령어를 사용해서 스타트업 아이템을 설치한다면:

 

shell> sudo /Library/StartupItems/MySQLCOM/MySQLCOM start

(Enter your password, if necessary)

(Press Control-D or enter "exit" to exit the shell)

 

스타트업 아이템을 사용하지 않는다면, 아래의 명령어들을 순차적으로 입력한다:

 

shell> cd /usr/local/mysql

shell> sudo ./bin/mysqld_safe

(Enter your password, if necessary)

(Press Control-Z)

shell> bg

(Press Control-D or enter "exit" to exit the shell)

 

예를 들면, /usr/local/mysql/bin/mysql 를 구동시켜서 MySQL 서버에 접속할 수 있게 될 것이다.

쉘 리소스 파일에 별칭 (aliases)을 추가 해서 명령어 라인에서 mysql mysqladmin 과 같이 자주 사용하는 프로그램을 보다 쉽게 접근하고자 할 것이다. bash에 대한 신텍스는 아래와 같다:

 

alias mysql=/usr/local/mysql/bin/mysql

alias mysqladmin=/usr/local/mysql/bin/mysqladmin

 

tcsh에 대해서는 다음을 이용한다:

 

alias mysql /usr/local/mysql/bin/mysql

alias mysqladmin /usr/local/mysql/bin/mysqladmin

 

아울러, PATH 환경 변수에 /usr/local/mysql/bin를 추가할 수 있다. 예를 들면, 쉘이 bash 라면 아래의 라인을 $HOME/.bashrc 파일에 추가한다:

 

PATH=${PATH}:/usr/local/mysql/bin

 

쉘이 tcsh라면 아래의 라인을 $HOME/.tcshrc 파일에 추가한다:

 

setenv PATH ${PATH}:/usr/local/mysql/bin

 

홈 디렉토리에 .bashrc 또는 .tcshrc 파일이 없다면 텍스트 편집기를 사용해서 이것을 생성한다.

 

기존에 설치되어 있는 것을 업그레이드 하고자 한다면, 새로운 MySQL PKG를 설치하더라도 예전에 설치한 디렉토리가 제거되지 않는다는 점을 알아두자. 애석하게도, Mac OS X 인스톨러는 아직까지 이전 설치 패키지를 정확히 업그레이드하는데 필요한 기능들을 제공해 주지 못하고 있다.

 

기존의 데이터 베이스를 업그레이드 할 경우에는, 기존 데이터 디렉토리의 모든 내용을 새로운 디렉토리로 복사해 둘 필요가 있다. 복사 작업을 하는 동안에는 어떠한 서버 (구형 또는 새로운 서버)도 동작하지 않도록 해야 한다. 이전에 설치한 데이터 베이스를 복사하고 성공적으로 새로운 서버를 구동시킨 다음에는, 구형 설치 파일들을 제거해서 디스트 공간을 절약하도록 한다. 아울러, /Library/Receipts/mysql-VERSION.pkg에 있는 구형 패키지 수신 (receipts) 디렉토리도 삭제 한다.