2.4. RPM 패키지를 사용해서 리눅스에 MySQL 설치하기
리눅스에 MySQL을 설치하는데 있어서 권장할 수 있는 방법은 RPM패키지를 사용하는 것이다. MySQL AB사가 제공하는 RPM은 RPM패키지를 지원하고 glic 2.3을 사용하는 모든 리눅스에서 구동을 한다. RPM 패키지는 Section 2.1.3, “MySQL 다운 로드 하기”를 참조하기 바란다.
RPM을 지원하지 않는 리눅스에 MySQL을 설치하기 위해서는 .tar.gz 패키지를 사용한다. Section 2.8, “다른 유닉스 유사 시스템에 tar.qz 패키지를 사용해서 MySQL 설치하기”를 참조하기 바란다.
MySQL AB사는 특정 플랫폼 관련 RPM들을 제공한다; 플랫폼 관련 RPM과 일반 RPM의 차이는, 플랫폼 관련 RPM은 특정 플랫폼에 구축되고 동적으로 해당 플랫폼에 연결 되도록 만들어진 것인 반면에 일반 RPM은 리눅스 쓰레드(LinusThread)를 갖고 정적(statically)으로 연결되는 것이다.
Note: MySQL의 RPM 배포판은 종종 다른 벤더에서도 제공하고 있다. 이러한 것들은 MySQL AB사가 제공하는 것들과 기능 및 내용물에서 다소 차이가 있을 수 있으며, 이 설명서에서 제공하는 방법으로 설치할 수 없을 수도 있다는 점을 알기 바란다. 대신에 제품을 제공하는 벤더의 설명서를 따르기 바란다.
RPM파일에 문제가 있다면 (예를 들면, Sorry, the host 'xxxx' could not be looked up과 같은 에러가 있다면), Section 2.13.1.2, “리눅스 바이너리 배포판 노트”를 참조하기 바란다.
대부분의 경우, MySQL의 표준 기능 설치는 MySQL-server 및 MySQL-client만 설치하면 된다. 다른 패키지들은 표준 설치에서는 필요 없는 것들이다.
MySQL패키지를 설치하고자 할 때 의존적 실패 (dependency failure)가 발생하면 (예를 들어, error: removing these packages would break dependencies: libmysqlclient.so.10 is needed by ...), 여러분은 MySQL-shared-compat 패키지도 설치해야 하는데, 여기에는 이전 버전 (backward)과의 호환성을 위한 공유 라이브러가 들어 있다 (MySQL 4.0을 위한 libmysqlclient.so.12 및 MySQL 3.23을 위한 libmysqlclient.so.10).
몇몇 리눅스 배포판들은 아직까지도 MySQL 3.23과 함께 제공되며 이것들은 일반적으로 디스크 공간을 절약하기 위해 어플리케이션들과 동적으로 연결되어 있다. 별도의 패키지에 이러한 공유 라이브러리들이 있는 경우에는 (예를 들면, MySQL-shared), 설치된 패키지는 그대로 놓아 두고 MySQL서버와 클라이언트 패키지를 업그레이드 하는 것으로도 충분하다 (이것들은 정적으로 링크가 되어 있으며 공유 라이브러리들에는 의존하지 않는다). MySQL서버 (예를 들면, 레드헷 리눅스)와 같이 동일한 패키지에 공유 라이브러리들을 갖고 있는 배포판의 경우에는 우리가 제공하는 3.23 MySQL-shared RPM을 사용하거나 또는 MySQL-shared-compat 를 대신 사용할 수 있을 것이다 (두 개를 동시에 설치하지는 말 것).
아래의 RPM 패키지들은 사용 가능한 것들이다:
- MySQL-server-VERSION.glibc23.i386.rpm
MySQL 서버. 다른 머신에서 구동하고 있는 MySQL 서버에만 연결하고 싶지 않을 경우에는 이것을 사용한다.
- MySQL-client-VERSION.glibc23.i386.rpm
표준 MySQL 클라이언트 프로그램. 대부분의 경우에 이 패키지를 설치하면 된다.
- MySQL-devel-VERSION.glibc23.i386.rpm
Perl 모듈과 같은 다른 MySQL 클라이언트를 컴파일하고자 할 때 필요한 라이브러리 및 포함 파일들.
- MySQL-debuginfo-VERSION.glibc23.i386.rpm
이 패키지에는 디버깅 정보가 들어 있다. debuginfo RPM은 MySQL 소프트웨어를 사용할 경우에는 결코 필요가 없는 것이다; 서버 및 클라이언트에 모두 해당함. 하지만, 크래시를 분석하기 위한 디버거에게는 중요한 정보를 가지고 있다.
- MySQL-shared-VERSION.glibc23.i386.rpm
이 패키지는 MySQL을 동적으로 가져와서 사용하는데 필요한 특정 언어와 어플리케이션인 공유 라이브러리 (libmysqlclient.so*)를 가지고 있다. 여기에는 싱글-쓰레드 및 쓰레드-안전 라이브러리 (thread-safe)가 들어 있다. 만일 이 패키지를 설치한다면, MySQL-shared-compat 패키지를 설치하지 말도록 한다.
- MySQL-shared-compat-VERSION.glibc23.i386.rpm
이 패키지는 MySQL 3.23, 4.0, 4.1 , 그리고 5.1에 필요한 공유 라이브러리를 가지고 있다 여기에는 싱글-쓰레드 및 쓰레드-안전 라이브러리 (thread-safe)가 들어 있다. 만일 구형 버전 MySQL에 동적으로 링크가 된 어플리케이션을 가지고 있기는 하지만 라이브러리 의존도를 깨지 않으면서 현재 버전으로 업그레이드를 하고자 하는 경우에는, MySQL-shared 대신에 이 패키지를 설치한다.
- MySQL-embedded-VERSION.glibc23.i386.rpm
임베디드 MySQL 서버 라이브러리.
- MySQL-ndb-management-VERSION.glibc23.i386.rpm, MySQL-ndb-storage-VERSION.glibc23.i386.rpm, MySQL-ndb-tools-VERSION.glibc23.i386.rpm, MySQL-ndb-extra-VERSION.glibc23.i386.rpm
MySQL 클러스터를 설치하기 위해 필요한 추가 파일을 가지고 있는 패키지.
- MySQL-test-VERSION.glibc23.i386.rpm
이 패키지는 MySQL 테스트 슈트 (suite)를 가지고 있다.
- MySQL-VERSION.src.rpm
이 패키지는 모든 이전 패키지의 소스를 가지고 있다. 이것은 다른 아키텍처 (예를 들면, Alpha 또는 SPARC)에 RPM을 재구성할 때 사용할 수 있다.
RPM 패키지의 접두어 (VERSION 값 다음에 나오는 것)는 다음 신텍스를 갖는다:
.PLATFORM.CPU.rpm
PLATFORM 및 CPU 값은 패키지를 설치할 시스템의 타입을 가리키는 것이다. PLATFORM은 플랫폼을 가리키며 CPU는 프로세서 타입과 종류를 가리킨다.
모든 패키지는 glibc 2.3에 대해서 동적으로 링크가 된다. PLATFORM 값은 패키지가 플랫폼과 무관한지 아니면 특정 플랫폼에만 해당이 되는지를 가리키는 것이다:
|
glibc23 |
Platform independent, should run on any Linux distribution that supports glibc 2.3 |
|
rhel3, rhel4 |
Red Hat |
|
sles9, sles10 |
SuSE Linux |
MySQL 5.1에서는, glibc23 패키지만이 현재 사용 가능하다.
CPU 값은 패키지가 설치되는 프로세서 타입 또는 그 종류를 가리킨다:
|
i386 |
x86 processor, 386 and up |
|
i586 |
x86 processor, Pentium and up |
|
x86_64 |
64-bit x86 processor |
|
ia64 |
Itanium (IA-64) processor |
RPM 패키지 안에 들어있는 모든 파일을 보기 위해서는, 다음과 같은 명령어를 실행한다:
shell> rpm -qpl MySQL-server-VERSION.glibc23.i386.rpm
표준 최소 설치를 실행하기 위해서는, 서버와 클라이언트의 RPM을 설치한다:
shell> rpm -i MySQL-server-VERSION.glibc23.i386.rpm
shell> rpm -i MySQL-client-VERSION.glibc23.i386.rpm
클라이언트 프로그램만 설치할 경우에는, 단지 클라이언트 RPM만 설치한다:
shell> rpm -i MySQL-client-VERSION.glibc23.i386.rpm
RPM은 설치하기 전에 패키지의 신뢰도와 집적도를 검증할 수 있는 기능을 제공한다. 이러한 기능에 대해 보다 자세히 알아보고자 한다면, Section 2.1.4, “MD5 체크 썸(Checksums) 또는 GnuPG를 사용해서 패키지 집적도를 검사하기”를 참조할 것.
서버 RPM은 데이터를 /var/lib/mysql 밑에 놓는다. RPM은 또한 mysql 이 MySQL서버를 구동시키기 위해 사용할 수 있는 로그인 계정을 생성하며 (존재하지 않는다면), 부팅시 자동으로 서버를 구동시키기 위해 /etc/init.d/ 안에 적당한 엔트리들을 생성한다 (이것은, 만약에 여러분이 이전에 설치를 했고 시작 스크립트를 변경시켰다면, 여러분은 스크립트를 복사해 두어서 새로운 RPM을 설치할 때 잃어 버리는 것을 대비할 수 있다는 것을 의미한다).
만약에 /etc/init.d (직접적으로 또는 심링크(symlink)를 통해)에 있는 초기화 스크립트를 지원하지 않는 구형 리눅스 배포판에 MySQL RPM을 설치하고자 한다면, 여러분의 초기화 스크립트가 실제로 설치되어 있는 장소를 가리키는 심볼릭 링크를 생성해야 한다. 예를 들면, 만약에 그 위치가 /etc/rc.d/init.d라면, RPM을 설치하기 전에 그 위치를 가리키는 심볼릭 링크인 /etc/init.d 를 생성하기 위해 아래의 명령어를 실행한다:
shell> cd /etc
shell> ln -s rc.d/init.d .
하지만, 현재의 모든 주요 리눅스 배포판은 /etc/init.d를 사용하는 새로운 디렉토리를 지원하고 있는데, 이것이 LSB (Linux Standard Base) 호환을 위해 필요하기 때문이다.
여러분이 설치한 RPM파일이MySQL-server를 포함하고 있다면, 설치 후에 mysqld 서버를 불러와서 구동시켜야 한다. MySQL를 사용해서 구동 시킬 수 있어야 한다.
만약에 무언가 문제가 생긴다면, 바이너리 설치 섹션을 참조하길 바란다.