Loading...
MySQL 9.5 Reference Manual 9.5의 2.5.3 Using the MySQL SLES Repository의 한국어 번역본입니다.
아래의 경우에 피드백에서 신고해주신다면 반영하겠습니다.
감사합니다 :)
MySQL SLES repository는 SUSE Enterprise Linux Server에서 MySQL server, client 및 기타 컴포넌트를 설치하고 관리하기 위한 RPM 패키지를 제공합니다. 본 절에서는 이러한 패키지를 가져오고 설치하는 방법을 설명합니다.
시스템의 repository 목록에 공식 MySQL SLES repository를 추가하거나 업데이트합니다:
Note
mysql84와 같은 설정 파일 이름의 앞부분은 설치에 대해 기본으로 활성화된 MySQL 시리즈를 설명합니다. 이 경우 MySQL 8.4 LTS용 서브 리포지토리가 기본으로 활성화되어 있습니다. 또한 MySQL 8.0 및 MySQL innovation 시리즈와 같은 다른 서브 리포지토리 버전도 포함하고 있습니다. MySQL 9.5는 현재 innovation 릴리스입니다.
시스템에 MySQL repository가 아직 없는 경우:
https://dev.mysql.com/downloads/repo/suse/
사용 중인 SLES 버전에 맞는 릴리스 패키지를 선택하여 다운로드합니다.
다음 명령을 사용하여 다운로드한 릴리스 패키지를 설치합니다. 여기서 package-name 을 다운로드한 패키지 이름으로 교체합니다:
1$> sudo rpm -Uvh package-name.rpm
예를 들어, 버전 내에서 15-1과 같은 릴리스 번호를 나타내는 # 이 포함된 SLES 15용 패키지를 설치하려면:
1$> sudo rpm -Uvh mysql84-community-release-sl15-#.noarch.rpm
이전 버전이 이미 존재하는 경우에는 업데이트합니다:
1$> sudo zypper update mysql84-community-release
이는 각 MySQL 릴리스마다 필수는 아니지만, 최신 정보를 포함하도록 MySQL repository 정보를 업데이트합니다. 예를 들어 mysql84-community-release-sl15-7.noarch.rpm 은 MySQL 8.1 시리즈로 시작하는 innovation 릴리스 트랙을 추가하는 최초의 SUSE 15 repository 설정 파일입니다.
MySQL SLES repository 내에서는 다른 릴리스 시리즈의 MySQL Community Server가 서로 다른 서브 리포지토리에 호스팅됩니다. 최신 버그 수정 시리즈(현재는 MySQL 8.4)의 서브 리포지토리가 기본으로 활성화되어 있으며, 다른 모든 시리즈의 서브 리포지토리는 비활성화되어 있습니다. MySQL SLES repository 내 모든 서브 리포지토리와 그 활성/비활성 상태를 확인하려면 다음 명령을 사용합니다:
1$> zypper repos | grep mysql.*community
Innovation 트랙은 mysql-innovation-community와 같은 항목과 함께 SLES 15에서 사용할 수 있습니다.
특정 시리즈의 최신 릴리스를 설치하려면, 설치 명령을 실행하기 전에 원하는 시리즈의 서브 리포지토리가 활성화되고, 다른 시리즈의 서브 리포지토리는 비활성화되어 있는지 확인합니다. 예를 들어, SLES 15에서 기본으로 활성화되어 있는 MySQL 8.4 server 및 tools용 서브 리포지토리를 비활성화하려면 다음을 사용합니다:
1$> sudo zypper modifyrepo -d mysql-8.4-lts-community 2$> sudo zypper modifyrepo -d mysql-tools-community
그런 다음 원하는 릴리스 시리즈용 서브 리포지토리를 활성화합니다. 예를 들어, SLES 15에서 MySQL 9.5를 설치하는 Innovation 트랙을 활성화하려면:
1$> sudo zypper modifyrepo -e mysql-innovation-community 2$> sudo zypper modifyrepo -e mysql-tools-innovation-community
한 번에 하나의 릴리스 시리즈에 대한 서브 리포지토리만 활성화해야 합니다.
다음 명령을 실행하고 출력 결과를 확인하여 올바른 서브 리포지토리가 활성화되었는지 검증합니다:
1$> zypper repos -E | grep mysql.*community 2 37 | mysql-connectors-community | MySQL Connectors Community | Yes | (r ) Yes | No 410 | mysql-innovation-community | MySQL Innovation Release Community Server | Yes | (r ) Yes | No 516 | mysql-tools-innovation-community | MySQL Tools Innovation Community | Yes | ( p) Yes | No
그 이후, 활성화된 서브 리포지토리의 repository 정보를 갱신하려면 다음 명령을 사용합니다:
1$> sudo zypper refresh
공식 MySQL repository가 활성화된 상태에서 MySQL Server를 설치합니다:
1$> sudo zypper install mysql-community-server
이 명령은 MySQL server용 패키지와 기타 필요한 패키지를 함께 설치합니다.
다음 명령으로 MySQL server를 시작합니다:
1$> systemctl start mysql
다음 명령으로 MySQL server의 상태를 확인할 수 있습니다:
1$> systemctl status mysql
운영체제가 systemd를 사용하도록 설정되어 있다면, MySQL server 서비스 관리를 위해 stop, start, status, restart 와 같은 표준 systemctl (또는 인자가 반대로 전달되는 service) 명령을 사용해야 합니다. mysql 서비스는 기본으로 활성화되어 있으며, 시스템 재부팅 시 자동으로 시작됩니다. 추가 정보는 Section 2.5.9, “Managing MySQL Server with systemd” 를 참고하십시오.
MySQL Server Initialization: server가 처음 시작될 때 server가 초기화되며, (초기화가 시작될 때 server의 데이터 디렉터리가 비어 있는 경우) 다음 작업이 수행됩니다:
SSL 인증서 및 키 파일이 데이터 디렉터리에 생성됩니다.
validate_password plugin 이 설치 및 활성화됩니다.
superuser 계정인 'root'@'localhost' 가 생성됩니다. superuser의 패스워드가 설정되어 에러 로그 파일에 저장됩니다. 다음 명령을 사용하여 이를 확인합니다:
1$> sudo grep 'temporary password' /var/log/mysql/mysqld.log
생성된 임시 패스워드로 로그인하여 가능한 한 빨리 root 패스워드를 변경하고, superuser 계정에 대한 사용자 정의 패스워드를 설정합니다:
1$> mysql -uroot -p
1mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';
Note
MySQL의 validate_password plugin은 기본으로 설치됩니다. 이 plugin은 패스워드에 최소 하나의 대문자, 하나의 소문자, 하나의 숫자, 하나의 특수 문자가 포함되고, 전체 패스워드 길이가 최소 8자 이상이 되도록 요구합니다.
다음 명령을 사용하여 MySQL Server를 중지할 수 있습니다:
1$> sudo systemctl stop mysql
MySQL의 추가 컴포넌트를 설치할 수 있습니다. 다음 명령으로 MySQL SLES repository의 서브 리포지토리 목록을 확인합니다:
1$> zypper repos | grep mysql.*community
특정 서브 리포지토리에서 사용 가능한 MySQL 컴포넌트용 패키지 목록을 표시하려면 다음 명령을 사용합니다. 여기서 subrepo-name 을 관심 있는 서브 리포지토리 이름으로 변경합니다:
1$> zypper packages subrepo-name
다음 명령에서 package-name 을 설치하려는 패키지 이름으로 교체하여 원하는 패키지를 설치합니다(필요한 경우, Selecting a Release Series 에 설명된 것과 같은 방법으로 해당 릴리스 시리즈용 서브 리포지토리를 먼저 활성화해야 할 수도 있습니다):
1$> sudo zypper install package-name
예를 들어, 이미 활성화한 릴리스 시리즈용 서브 리포지토리에서 MySQL benchmark suite를 설치하려면:
1$> sudo zypper install mysql-community-bench
Note
MySQL SLES repository를 사용하여 MySQL 설치에 대해 in-place 업데이트(즉, server의 오래된 버전을 교체하고, 기존 데이터 파일을 사용하여 새로운 버전을 실행)를 수행하려면 다음 단계를 따르십시오(이는 MySQL SLES repository를 사용하여 MySQL을 설치했다는 가정하에 설명됩니다. 그렇지 않은 경우에는 대신 Replacing MySQL Installed by an RPM from Other Sources 의 지침을 따르십시오):
업데이트 작업 중, 기본적으로 MySQL SLES repository는 설치 시 선택한 릴리스 시리즈의 최신 버전으로 MySQL을 업데이트합니다(자세한 내용은 Selecting a Release Series 를 참조). 예를 들어, 8.4와 같은 LTS 시리즈 설치는 9.5와 같은 innovation 시리즈로 업데이트되지 않습니다. 다른 릴리스 시리즈로 업데이트하려면, (기본값이거나 사용자가 직접 선택한) 현재 시리즈용 서브 리포지토리를 먼저 비활성화하고, 대상 시리즈용 서브 리포지토리를 활성화해야 합니다. 이를 위해서는 Selecting a Release Series 에 제시된 일반 지침을 따르면 됩니다.
일반적인 규칙으로, 한 릴리스 시리즈에서 다른 시리즈로 업그레이드할 때는 시리즈를 건너뛰지 말고 다음 시리즈로 이동하십시오.
주의
MySQL SLES repository는 MySQL의 in-place 다운그레이드를 지원하지 않습니다. Chapter 4, Downgrading MySQL 의 지침을 따르십시오.
다음 명령을 사용하여 MySQL 및 그 컴포넌트를 업그레이드합니다:
1$> sudo zypper update mysql-community-server
또는, Zypper에 시스템의 모든 항목을 업데이트하도록 지시할 수도 있습니다(이 경우 시간이 상당히 더 오래 걸릴 수 있습니다):
1$> sudo zypper update
특정 컴포넌트만 업데이트할 수도 있습니다. 다음 명령을 사용하여 MySQL SLES repository에서 설치된 모든 패키지를 나열합니다:
1$> zypper packages -i | grep mysql-.*community
원하는 컴포넌트의 패키지 이름을 확인한 후, package-name 을 해당 패키지 이름으로 교체하여 다음 명령으로 패키지를 업데이트합니다:
1$> sudo zypper update package-name
MySQL Community Server 및 그 컴포넌트를 설치하기 위한 RPM은 MySQL에서 MySQL Developer Zone, SLES의 기본 소프트웨어 repository, 또는 MySQL SLES repository를 통해 다운로드할 수 있습니다. 이러한 소스에서 제공되는 RPM은 서로 다를 수 있으며, MySQL을 설치·구성하는 방식도 다를 수 있습니다.
MySQL Developer Zone 또는 SLES의 기본 소프트웨어 repository에서 제공된 RPM으로 MySQL을 설치했으며, 이를 MySQL SLES repository의 RPM을 사용한 설치로 교체하려는 경우 다음 단계를 따르십시오:
데이터 손실을 방지하기 위해 데이터베이스를 백업합니다. 백업 방법은 Chapter 9, Backup and Recovery 를 참조하십시오.
MySQL Server가 실행 중이라면 중지합니다. server가 서비스로 실행 중인 경우 다음 명령으로 중지할 수 있습니다:
1$> systemctl stop mysql
Adding the MySQL SLES Repository 에 제시된 단계를 따릅니다.
Selecting a Release Series 에 제시된 단계를 따릅니다.
Installing MySQL with Zypper 에 제시된 단계를 따릅니다. 이때 기존 패키지를 새 패키지로 교체할지 여부를 묻는 메시지가 표시됩니다. 예:
1Problem: mysql-community-server-5.6.22-2.sles11.x86_64 requires mysql-community-client = 5.6.22-2.sles11, 2 but this requirement cannot be provided uninstallable providers: 3 mysql-community-client-5.6.22-2.sles11.x86_64[mysql56-community] 4 Solution 1: replacement of mysql-client-5.5.31-0.7.10.x86_64 with mysql-community-client-5.6.22-2.sles11.x86_64 5 Solution 2: do not install mysql-community-server-5.6.22-2.sles11.x86_64 6 Solution 3: break mysql-community-server-5.6.22-2.sles11.x86_64 by ignoring some of its dependencies 7 8Choose from above solutions by number or cancel [1/2/3/c] (c)
위 예에서 “Solution 1”과 같은 “replacement” 옵션을 선택하여 MySQL SLES repository에서의 설치를 완료합니다.
다음 지침은 시스템에 MySQL Server 또는 MySQL NDB Cluster가 아직 설치되지 않았다고 가정합니다. 그렇지 않은 경우, 계속 진행하기 전에 MySQL Server 또는 MySQL NDB Cluster와 그에 속한 모든 실행 파일, 라이브러리, 설정 파일, 로그 파일, 데이터 디렉터리를 제거해야 합니다. 다만, 시스템에서 MySQL SLES repository를 활성화하기 위해 사용했던 릴리스 패키지는 제거할 필요가 없습니다.
NDB Cluster Auto-Installer 패키지는 python2-crypto 및 python-paramiko 패키지에 대한 의존성을 가집니다. Python repository가 시스템에서 활성화되어 있다면 Zypper가 이 의존성을 처리할 수 있습니다.
MySQL SLES repository 내에서 MySQL Community Server와 MySQL NDB Cluster는 서로 다른 서브 리포지토리에 호스팅됩니다. 기본적으로 최신 버그 수정 시리즈용 MySQL Server 서브 리포지토리가 활성화되어 있으며, MySQL NDB Cluster용 서브 리포지토리는 비활성화되어 있습니다. NDB Cluster를 설치하려면 MySQL Server용 서브 리포지토리를 비활성화하고 NDB Cluster용 서브 리포지토리를 활성화해야 합니다. 예를 들어, 기본으로 활성화되어 있는 MySQL 8.4용 서브 리포지토리를 다음 명령으로 비활성화합니다:
1$> sudo zypper modifyrepo -d mysql-8.4-lts-community
그런 다음 MySQL NDB Cluster용 서브 리포지토리를 활성화합니다:
1$> sudo zypper modifyrepo -e mysql-cluster-8.4-community
다음 명령을 실행하고 출력 결과를 확인하여 올바른 서브 리포지토리가 활성화되었는지 검증합니다:
1$> zypper repos -E | grep mysql.*community 210 | mysql-cluster-8.4-community | MySQL Cluster 8.4 Community | Yes | No
그 이후, 활성화된 서브 리포지토리의 repository 정보를 갱신하려면 다음 명령을 사용합니다:
1$> sudo zypper refresh
MySQL NDB Cluster의 최소 설치를 위해 다음 단계를 따릅니다:
1$> sudo zypper install mysql-cluster-community-server
설치가 완료되면, Starting the MySQL Server 에 제시된 단계를 따라 SQL 노드를 시작하고 초기화합니다.
mysqld --initialize 명령을 사용해 데이터 디렉터리를 수동으로 초기화하기로 선택한 경우(자세한 내용은 Section 2.9.1, “Initializing the Data Directory” 참조), root 패스워드가 생성되어 SQL 노드의 에러 로그에 저장됩니다. 패스워드를 찾는 방법과, 그와 관련해 알아야 할 몇 가지 사항은 Starting the MySQL Server 를 참고하십시오.
1$> sudo zypper install mysql-cluster-community-management-server
1$> sudo zypper install mysql-cluster-community-data-node
추가적인 NDB Cluster 컴포넌트를 설치하려면 Installing Additional MySQL Products and Components 를 참조하십시오.
MySQL NDB Cluster 구성 방법은 Section 25.3.3, “Initial Configuration of NDB Cluster” 를, 처음 시작하는 방법은 Section 25.3.4, “Initial Startup of NDB Cluster” 를 참조하십시오.
Zypper를 사용하여 MySQL SLES repository에서 MySQL NDB Cluster의 개별 컴포넌트 및 추가 제품을 설치할 수 있습니다. 이를 위해, 시스템의 repository 목록에 이미 MySQL SLES repository가 있다고 가정합니다(그렇지 않은 경우 Installing MySQL NDB Cluster Using the SLES Repository 의 Step 1 및 2를 따르십시오). 그런 다음 Installing Additional MySQL NDB Cluster Products and Components 에 제시된 동일한 단계를 따르십시오.
Note
Known issue: 현재, MySQL NDB Cluster test suite를 실행하는 데 필요한 모든 컴포넌트가 test suite 패키지 (mysql-cluster-community-test) 설치 시 자동으로 설치되지는 않습니다. test suite를 실행하기 전에 다음 패키지를 zypper install 로 설치하십시오:
mysql-cluster-community-auto-installer
mysql-cluster-community-management-server
mysql-cluster-community-data-node
mysql-cluster-community-memcached
mysql-cluster-community-java
mysql-cluster-community-ndbclient-devel
2.5.2 Installing MySQL on Linux Using the MySQL APT Repository
2.5.4 Installing MySQL on Linux Using RPM Packages from Oracle