2.5.5 RPM 패키지를 사용하여 MySQL을 Linux에 설치
MySQL 5.6.11 설치 또는 업그레이드하려면이 섹션의 끝에있는주의 사항을 반드시 읽어 보시기 바랍니다.
glibc
를 사용하는 RPM 기반 Linux 배포에 MySQL을 설치하기 위해 권장되는 방법은 MySQL이 제공하는 RPM 패키지를 사용하는 것입니다. RPM 패키지 Community 버전을 얻으려면 두 가지 소스가 있습니다.
다음 플랫폼에서는 MySQL 소프트웨어 저장소에서 :
EL5, EL6 또는 EL7 기반 플랫폼 및 Fedora 20 또는 21에서 MySQL Yum 저장소를 사용합니다 (자세한 내용은 섹션 2.5.1 "MySQL Yum 저장소를 사용하여 MySQL을 Linux에 설치" 를 참조하십시오 ).
SUSE Enterprise Linux Server는 MySQL SLES 저장소를 사용합니다 (자세한 내용은 2.5.4 절 "MySQL SLES 저장소를 사용하여 MySQL을 Linux에 설치" 를 참조하십시오).
MySQL Developer Zone 의 MySQL Downloads 페이지 에서. 여기에서는 다른 플랫폼에서 작동하는 다양한 RPM 패키지를 제공하고 있습니다.
이 섹션의 논의는 MySQL Developer Zone에서 직접 다운로드 한 RPM 패키지에만 적용됩니다. 이 패키지로 만든 설치는 다음 표에 나와있는 시스템 디렉토리 파일입니다.
표 2.6 MySQL Developer Zone에서 Linux RPM 패키지의 MySQL 설치 레이아웃
디렉토리 | 디렉토리의 내용 |
---|---|
/usr/bin | 클라이언트 프로그램 및 스크립트 |
/usr/sbin | mysqld 서버 |
/var/lib/mysql | 로그 파일, 데이터베이스 |
/usr/share/info | Info 형식의 문서 |
/usr/share/man | Unix 설명서 페이지 |
/usr/include/mysql | 포함 (헤더) 파일 |
/usr/lib/mysql | 라이브러리 |
/usr/share/mysql | 오류 메시지, 문자 세트 파일 샘플 구성 파일 데이터베이스 설치를위한 SQL을 포함한 다양한 지원 파일 |
/usr/share/sql-bench | 벤치 마크 |
MySQL의 RPM 배포는 다른 벤더에서 제공되고 있습니다. 그들은 당사에 의해 작성된 것으로는 (통신 설정 등) 기능과 규칙이 다를 수 있으며, 그 설치는이 설명서의 설명이 반드시 적용되지 않는다는 점에 유의하십시오. 대신 벤더의 설명서를 참조하십시오. 이러한 차이로 인해 당사가 구축 한 RPM 패키지는 다른 벤더에 의해 작성된 이러한 RPM이 설치되어 있는지 여부를 확인합니다. 이 경우 RPM은 설치를 실행하지 않고 그 것을 설명하는 메시지를 생성합니다.
다른 벤더에서 RPM이 이미 설치되어 있다면 어떤 파일이 서버에 속한 어느 것이 클라이언트 라이브러리에 속하는지에 대한 공급 업체의 표기가 Oracle 패키지에서 사용되는 내역과 다른 등의 불일치가 발생할 수 있습니다. 이런 경우 Oracle RPM을 rpm -i로 설치하려고하면 설치되는 RPM의 파일이 설치된 패키지 (다음 단락에서는 mysql-libs
로 표시됩니다)과 불일치하다는 메시지 합니다.
당사는 MySQL 릴리즈에 MySQL-shared-compat
패키지를 제공합니다. 이 패키지는 mysql-libs
대안이고, 오래된 MySQL 시리즈로 대체 가능한 호환 클라이언트 라이브러리를 제공합니다. MySQL-shared-compat
은 mysql-libs
를 사용하지 않도록 설정되어 있습니다 만, rpm은 ( -U
와는 달리) -i
와 함께 시작 된 경우 유효하지 않은 패키지를 대체 할 것을 명시 적으로 거부합니다. rpm -i로 설치가 불일치를 발생하는 것은이 때문입니다.
MySQL-shared-compat
라이브러리가 다른 위치에 설치되기 때문에 mysql-libs
함께 안전하게 설치할 수 있습니다. 따라서 shared-compat를 먼저 설치 한 후 설치를 계속하기 전에 수동으로 mysql-libs
를 삭제할 수 있습니다. mysql-libs가 삭제 된 후 동적 링커는 mysql-libs
가 클라이언트 라이브러리를 배치하는 장소에서 그들을 찾는 것을 멈추고 MySQL-shared-compat
패키지에서 제공하는 라이브러리가 걸립니다.
또 다른 대안은 yum을 사용하여 패키지를 설치하는 것입니다. MySQL 릴리즈의 모든 RPM 패키지가있는 디렉토리에서 yum install MySQL * rpm을 실행하면 한 번에 불일치없이 그들을 올바른 순서로 설치하고 mysql-libs
를 제거합니다.
대부분의 경우 작동 MySQL 설치를 얻기 위해 설치해야하는 것은 MySQL-server
및 MySQL-client
패키지뿐입니다. 기타 패키지는 표준 설치는 필요 없습니다.
MySQL 5.6.8에서는 RPM의 (업그레이드가 아닌) 설치 작업은 mysql_install_db를보다 안전한 MySQL 설치를 제공하는 --random-passwords
옵션으로 기동합니다. --random-passwords
으로 mysql_install_db를 호출하면 임의의 암호를 MySQL root
계정에 할당 이러한 계정에 대해 "암호가 만료 된"것을 나타내는 플래그를 설정하고 익명 사용자 MySQL 계정을 생성하지 않습니다 . 설치 후 서버를 시작하여 $HOME/.mysql_secret
파일에 기록 된 암호를 사용하여 root
로 연결하고 새로운 root
암호를 할당해야합니다. 이렇게까지 root
달리 아무것도 할 수 없습니다. 이것은 사용하는 모든 root
계정에 대해 실행해야합니다. 암호를 변경하려면 SET PASSWORD
문을 (예를 들어 mysql 클라이언트와 함께) 사용합니다. mysqladmin 또는 mysql_secure_installation도 사용할 수 있습니다. 자세한 내용은 섹션 4.4.3 "mysql_install_db - MySQL 데이터 디렉토리 초기화" 를 참조하십시오. (Unbreakable Linux Network에서의 RPM을 사용하여 설치 작업은 mysql_install_db를 사용하지 않기 때문에 영향을받지 않습니다.)
MySQL 클러스터의 RPM MySQL에 의해 작성된 표준 MySQL Server RPM은 NDBCLUSTER
스토리지 엔진을 지원하지 않습니다. RPM에서 MySQL Cluster를 설치하는 방법에 대한 자세한 내용은 섹션 18.2 "MySQL Cluster 설치" 를 참조하십시오.
MySQL Cluster RPM 설치를 업그레이드 할 때는 서버
및 클라이언트 RPM을 포함하여 설치 한 모든 RPM을 업그레이드해야합니다.
원래 여러 RPM 패키지를 설치하여 만들어진 설치의 경우, 업그레이드는 일부뿐만 아니라 모든 패키지를 업그레이드하는 것이 좋습니다. 예를 들어, 이전에 서버 및 클라이언트의 RPM을 설치 한 경우 서버의 RPM 만 업그레이드하는 것은하지 마십시오.
RPM 설치시 데이터 디렉토리가 존재하는 경우, 설치 프로세스는 기존 데이터를 변경하지 않습니다. 이것은 예를 들어 부여 테이블의 계정이 계정의 기본 설정으로 초기화되지 않는 효과가 있습니다.
MySQL 패키지를 설치하려고 종속성 오류가 발생할 경우 (예 : error: removing these packages would break dependencies: libmysqlclient.so.10 is needed by ...
), MySQL-shared-compat
패키지를 설치하십시오. 여기에는 호환성을 위해 이전 버전의 공유 라이브러리가 포함되어 있습니다.
다음 목록에있는 RPM 패키지를 사용할 수 있습니다. 여기에 나와있는 이름은 .linux_glibc2.5.i386.rpm
라는 접미사를 사용하지만 특정 패키지에 접미사가 다를 수 있습니다. 이후에 설명합니다. 여러 RPM 패키지를 설치하는 계획의 경우 RPM 번들 tar 파일을 대신 다운로드하는 것이 좋습니다. 여기에는 여러 RPM 패키지가 포함되어 있으므로 별도로 다운로드 할 필요가 없습니다.
MySQL-server-
VERSION
.linux_glibc2.5.i386.rpmMySQL Server. 다른 컴퓨터에서 실행중인 MySQL 서버에 연결 만 않으면 이것이 필요합니다.
MySQL-client-
VERSION
.linux_glibc2.5.i386.rpm표준 MySQL 클라이언트 프로그램. 일반적으로이 패키지를 설치합니다.
MySQL-devel-
VERSION
.linux_glibc2.5.i386.rpmPerl 모듈과 같은 다른 MySQL 클라이언트를 컴파일 할 경우에 필요한 라이브러리와 include 파일. C API 응용 프로그램을 컴파일 할 예정이면이 RPM을 설치합니다.
MySQL-shared-
VERSION
.linux_glibc2.5.i386.rpm이 패키지는 MySQL을 동적으로로드하고 사용하기 위해 일부 언어 및 응용 프로그램이 필요로하는 공유 라이브러리 (
libmysqlclient.so*
)가 포함되어 있습니다. 그것에는 단일 스레드와 스레드 안전 라이브러리가 포함되어 있습니다. 공유 클라이언트 라이브러리를 사용하는 C API 응용 프로그램을 컴파일하고 실행하려는 경우이 RPM을 설치합니다.MySQL-shared-compat-
VERSION
.linux_glibc2.5.i386.rpm이 패키지는 이전 릴리스의 공유 라이브러리를 포함하지만 현재 출시 라이브러리는 포함되지 않습니다. 그것에는 단일 스레드와 스레드 안전 라이브러리가 포함되어 있습니다. 이전 버전의 MySQL에 동적 링크 된 응용 프로그램을 설치하고 라이브러리의 의존 관계를 깨지 않고 최신 버전으로 업그레이드하는 경우에는이 패키지를 설치합니다.
MySQL 5.6.5에서
MySQL-shared-compat
RPM 패키지는 Red Hat이 제공하는mysql-*-5.1
RPM 패키지의 사용자가 오라클의MySQL-*-5.5
패키지로 마이그레이션 할 수 있습니다.MySQL-shared-compat
후자의 패키지libmysqlclient.so
파일을 대체하여mysql-libs
에 다른 패키지 종속성을 충족하여 Red Hatmysql-libs
패키지를 대체합니다. 이 변경은 Red Hat (또는 Red Hat 호환) RPM 패키지 사용자에게만 영향을줍니다. Oracle RPM 패키지의 사용자에게는 아무것도 변경하지 않습니다.MySQL-embedded-
VERSION
.linux_glibc2.5.i386.rpm임베디드 MySQL 서버 라이브러리.
MySQL-test-
VERSION
.linux_glibc2.5.i386.rpm이 패키지는 MySQL의 테스트가 포함되어 있습니다.
MySQL-
VERSION
.src.rpm여기에는 모든 이전 패키지의 소스 코드가 포함되어 있습니다. 다른 아키텍처 (예를 들어, Alpha 또는 SPARC)에 RPM을 빌드 할 때에도 사용할 수 있습니다.
RPM 패키지 이름의 접미사 ( VERSION
값에 계속) 구문은 다음과 같습니다.
.PLATFORM
.CPU
.rpm
PLATFORM
및 CPU
값은 패키지의 빌드 대상이되고있는 시스템의 유형을 나타냅니다. PLATFORM
은 플랫폼을 나타내며 CPU
는 프로세서의 종류 나 제품군을 나타냅니다.
모든 패키지는 glibc
2.5에 동적 연결됩니다. PLATFORM
값은 다음 표와 같이 패키지가 플랫폼에서 독립하거나 특정 플랫폼을 목적으로하고 있는지를 보여줍니다.
표 2.7 MySQL Linux 설치 패키지
PLATFORM 값 | 사용 목적 |
---|---|
linux_glibc25 | 플랫폼에서 독립. glibc 2.5을 지원하는 모든 Linux 배포판에서 작동합니다. |
rhel5 , rhel6 | Red Hat Enterprise Linux 5 또는 6 |
el6 , el7 | Enterprise Linux 6 또는 7 |
sles10 , sles11 | SUSE Linux Enterprise Server 10 또는 11 |
MySQL 5.6는 현재 linux_glibc2.5
패키지 만 사용 가능합니다.
CPU
값은 패키지의 빌드 대상이되고있는 프로세서의 종류 나 제품군을 나타냅니다.
표 2.8 Linux 용 MySQL 설치 패키지의 CPU 식별자
CPU 값 | 대상의 프로세서 유형 또는 제품군 |
---|---|
i386 , i586 , i686 | Pentium 프로세서 이상, 32 비트 |
x86_64 | 64 비트 x86 프로세서 |
ia64 | Itanium (IA-64) 프로세서 |
RPM 패키지 ( MySQL-server
RPM 등)의 모든 파일을 표시하려면 다음과 같은 명령을 실행합니다.
shell> rpm -qpl MySQL-server- VERSION .linux_glibc2.5.i386.rpm
표준 최소 설치 서버와 클라이언트 RPM을 설치합니다.
shell>rpm -i MySQL-server- VERSION .linux_glibc2.5.i386.rpm
shell>rpm -i MySQL-client- VERSION .linux_glibc2.5.i386.rpm
클라이언트 프로그램 만 설치하려면 클라이언트 RPM 만 설치합니다.
shell> rpm -i MySQL-client- VERSION .linux_glibc2.5.i386.rpm
RPM은 설치 패키지의 완전성과 정확성을 검증하는 기능이 있습니다. 이 기능의 자세한 내용은 섹션 2.1.4 "MD5 체크섬 또는 GnuPG를 사용해서 패키지 무결성 확인" 을 참조하십시오.
서버 RPM은 데이터를 /var/lib/mysql
디렉토리에 저장합니다. RPM은 또한 MySQL Server를 실행하는 데 사용하는 사용자 mysql
라는 로그인 계정을 만듭니다 (없는 경우) 서버가 부팅시 자동으로 시작하도록 적절한 항목을 /etc/init.d/
작성합니다. (이것은 이전에 설치하고 시작 스크립트를 변경 한 경우 새 RPM을 설치할 때 스크립트를 잃지 않도록 복사본을 취하는 것이 낫다는 것을 의미합니다.) 시스템을 시작할 때 MySQL을 자동으로 실행하는 방법에 대한 자세한 내용은 섹션 2.10.1.2 「MySQL을 자동적으로 기동 및 정지한다」 를 참조하십시오.
MySQL 5.6에서는 새 설치 중에 서버 부팅 스크립트가 설치되어 있지만 MySQL Server 설치의 마지막은 시작되지 않습니다. 무인 설치중인 서버의 상태를 알 수 없기 때문입니다.
MySQL 5.6에서는 RPM 패키지를 사용하는 업그레이드 설치 중에 업그레이드가 진행되면 MySQL Server가 실행중인 경우는 MySQL Server는 중지되고 업그레이드가 실행되고 MySQL Server가 다시 시작됩니다. RPM 업그레이드 실행시에 MySQL Server가 이미 실행 중이 아니었다면 설치 마지막에 MySQL Server가 시작되지 않습니다.
MySQL의 커뮤니티 버전에서 상용 버전으로 업그레이드하는 경우 (이것은 실제로는 먼저 커뮤니티 버전을 제거하고 상용 버전을 설치해야합니다) 업그레이드 후 수동으로 서버를 다시 시작해야합니다 .
잘되지 않는 경우에는 바이너리 설치 섹션에 자세한 정보가 있습니다. 2.2 절 "일반적인 바이너리를 사용하여 MySQL의 Unix / Linux에 설치" 를 참조하십시오.
MySQL의 부여 테이블에 나열되어있는 계정은 처음에는 암호가 없습니다. 서버 시작 후 섹션 2.10 "설치 후 설정 및 테스트" 에 설명 된대로 그들에게 암호를 설정해야합니다.
RPM 설치시 mysql
이라는 사용자와 mysql
이라는 그룹이 시스템에 생성됩니다. 이것은 useradd, groupadd 및 usermod 명령을 사용하여 이루어집니다. 이러한 명령은 적절한 관리자 권한이 필요합니다. 이것은 root
에 의해 실행되는 RPM 설치 과정에서 로컬로 관리되는 사용자 및 그룹 ( /etc/passwd
및 /etc/group
파일에 나열되어 있습니다) 필요합니다.
mysql
사용자로 로그인하면 MySQL이 "Invalid (old?) table or database name"오류를 표시하고 .mysqlgui
, lost+found
, .mysqlgui
, .bash_history
, .fonts.cache-1
, .lesshst
, .mysql_history
, .profile
, .viminfo
및 MySQL 또는 운영 체제 유틸리티에 의해 생성 된 같은 파일이 표시됩니다. 이러한 오류 메시지는 무시해도 오류 메시지의 원인이되고있는 파일 또는 디렉토리가 불필요하면 삭제해도 안전합니다.
로컬이 아닌 사용자 관리 (LDAP, NIS 등)에서는 관리 도구가 추가 인증 (암호 등)를 요구할 수 있으며, 설치하는 사용자가 인증 정보를 제공하지 않으면 실패합니다. 실패해도 RPM 설치는 중단되지 않고 정상적으로 이루어집니다. 이것은 의도 한 것입니다. 실패하면 의도 한 소유권의 이동의 일부가 실행되지 않고, 시스템 관리자는 적절한 사용자 및 그룹이 있는지 수동으로 확인하고 RPM spec 파일의 액션에 따라 소유권을 수동 로 이동하는 것을 권장합니다.
MySQL 5.6.11에서는 RPM spec 파일이 업데이트되어 다음과 같은 영향이 있습니다.
업그레이드가 아닌 설치 (기존의 MySQL 버전이 설치되지 않은)의 경우 MySQL을 yum을 사용하여 설치할 수 있습니다.
업그레이드의 경우 이전의 MySQL 설치가 있으면 정리해야합니다. 사실, 업데이트는 이전 설치를 제거하고 새로운 것을 설치해서 실행됩니다.
추가 정보는 뒤 부분에서 설명합니다.
MySQL 5.6.11 이후의 업그레이드가 아닌 설치의 경우, MySQL를 yum을 사용하여 설치할 수 있습니다.
shell> yum install MySQL-server- NEWVERSION .linux_glibc2.5.i386.rpm
MySQL 5.6.11 이상으로 업그레이드하는 경우 업그레이드는 이전 설치를 제거하고 새로운 것을 설치해서 실행됩니다. 이렇게하려면 다음과 같이합니다.
기존의 5.6
X
설치를 제거합니다.OLDVERSION
은 제거 버전입니다.shell>
rpm -e MySQL-server- OLDVERSION .linux_glibc2.5.i386.rpm
이 절차를 모든 설치된 MySQL RPM에 대해 반복합니다.
새 버전을 설치합니다.
NEWVERSION
는 설치 버전입니다.shell>
rpm -ivh MySQL-server- NEWVERSION .linux_glibc2.5.i386.rpm
또는 제거 및 설치는 yum을 사용하여 실행할 수 있습니다.
shell>yum remove MySQL-server- OLDVERSION .linux_glibc2.5.i386.rpm
shell>yum install MySQL-server- NEWVERSION .linux_glibc2.5.i386.rpm