2.6. MariaDB 10.5로 마이그레이션
RHEL 8에서는 MariaDB 서버는 각각 별도의 모듈 스트림에서 제공하는 버전 10.3, 10.5, 10.11에서 사용할 수 있습니다. RHEL 9에서는 MariaDB 10.5,MariaDB 10.11 및 MySQL 8.0을 제공합니다.
이 부분에서는 MariaDB 10.3 의 RHEL 8 버전에서 MariaDB 10.5의 RHEL 9 버전으로의 마이그레이션을 설명합니다 .
2.6.1. MariaDB 10.3과 MariaDB 10.5의 주요 차이점
MariaDB 10.3과 MariaDB 10.5 간의 중요한 변경 사항은 다음과 같습니다.
-
이제 MariaDB 에서 기본적으로
unix_socket
인증 플러그인을 사용합니다. 플러그인을 사용하면 로컬 UNIX 소켓 파일을 통해 MariaDB 에 연결할 때 운영 체제 인증 정보를 사용할 수 있습니다. -
MariaDB
는 바이너리라는mariadb-*
와mariadb-*
바이너리를 가리키는mysql*
심볼릭 링크를 추가합니다. 예를 들어mysqladmin
,mysqlaccess
,mysqlshow
symlinks는mariadb-admin
,mariadb-access
,mariadb-show
바이너리를 각각 가리킵니다. -
각 사용자 역할에 더 잘 맞게
SUPER
권한이 여러 권한으로 분할되었습니다. 결과적으로 특정 설명이 필요한 권한을 변경했습니다. -
병렬 복제에서
slave_parallel_mode
는 이제 기본적으로 fake로설정됩니다
. -
InnoDB 스토리지 엔진에서 다음 변수의 기본값이 변경되었습니다.
innodb_adaptive_hash_index
는OFF
로,innodb_checksum_algorithm에서
로 변경되었습니다.full_
crc32 MariaDB 는 이전에 사용된
읽기라인
라이브러리 대신 MariaDB 명령 기록(.mysql_history
파일)을 관리하는 기본 소프트웨어의libedit
구현을 사용합니다. 이 변경 사항은.mysql_history
파일을 직접 사용하는 사용자에게 영향을 미칩니다..mysql_history
는 MariaDB 또는 MySQL 애플리케이션에서 관리하는 파일이며 사용자는 파일에서 직접 작업해서는 안 됩니다. 사람이 읽을 수 있는 모양은 무의미합니다.참고보안을 강화하기 위해 기록 파일을 유지하지 않는 것이 좋습니다. 명령 기록 기록을 비활성화하려면 다음을 수행합니다.
-
있는 경우
.mysql_history
파일을 제거합니다. 다음 방법 중 하나를 사용합니다.
-
MYSQL_HISTFILE
변수를/dev/null
로 설정하고 이 설정을 쉘의 시작 파일에 포함합니다. /dev/null
로 심볼릭 링크로.mysql_history
파일을 변경합니다.$ ln -s /dev/null $HOME/.mysql_history
-
-
있는 경우
MariaDB Galera Cluster 가 버전 4로 업그레이드되었으며 다음과 같은 주요 변경 사항이 적용됩니다.
- Galera 는 무제한 크기의 복제본 처리를 지원하는 새로운 스트리밍 복제 기능을 추가합니다. 스트리밍 복제를 실행하는 동안 클러스터는 작은 조각으로 트랜잭션을 복제합니다.
- Galera 는 이제 GTID(Global Transaction ID)를 완전히 지원합니다.
-
추가 옵션을 구성하지 않고 최종 사용자가
wsrep
복제를 시작하지 못하도록/etc/my.cnf.d/galera.cnf
파일의wsrep_on
옵션의 기본값이1
에서0
으로 변경되었습니다.
MariaDB 10.5 의 PAM 플러그인 변경 사항은 다음과 같습니다.
-
MariaDB 10.5 에는 새로운 버전의 PAM(Pluggable Authentication Modules) 플러그인이 추가되었습니다. PAM 플러그인 버전 2.0은 MariaDB 가 추가 PAM 모듈을 사용할 수 있도록 별도의
setuid 루트
도우미 바이너리를 사용하여 PAM 인증을 수행합니다. -
도우미 바이너리는
mysql
그룹의 사용자만 실행할 수 있습니다. 기본적으로 그룹에는mysql
사용자만 포함되어 있습니다. Red Hat은 이 도우미 유틸리티를 통해 액세스하거나 로깅하지 않고 관리자가mysql
그룹에 사용자를 추가하지 않도록 권장합니다. -
MariaDB 10.5 에서 PAM(Pluggable Authentication Modules) 플러그인 및 관련 파일이 새 패키지
mariadb-pam
으로 이동되었습니다. 결과적으로MariaDB
에 PAM 인증을 사용하지 않는 새로운setuid root
바이너리가 시스템에 소개되지 않았습니다. -
mariadb-pam
패키지에는 두 PAM 플러그인 버전이 모두 포함되어 있습니다. 버전 2.0은 기본값이며 버전 1.0은auth_pam_v1
공유 오브젝트 라이브러리로 사용할 수 있습니다. -
mariadb-pam
패키지는 기본적으로 MariaDB 서버와 함께 설치되지 않습니다. MariaDB 10.5 에서 PAM 인증 플러그인을 사용할 수 있도록 하려면mariadb-pam
패키지를 수동으로 설치합니다.
2.6.2. RHEL 8 버전의 MariaDB 10.3에서 RHEL 9 버전의 MariaDB 10.5로 마이그레이션
이 절차에서는 mariadb-upgrade
유틸리티를 사용하여 MariaDB 10.3 에서 MariaDB 10.5 로 마이그레이션하는 방법을 설명합니다.
mariadb-upgrade
유틸리티는 mariadb-server 패키지의 종속성으로 설치된
하위 패키지에서 제공합니다.
mariadb-server-
utils
사전 요구 사항
- 업그레이드를 수행하기 전에 MariaDB 데이터베이스에 저장된 모든 데이터를 백업합니다.
절차
mariadb-server
패키지가 RHEL 9 시스템에 설치되었는지 확인합니다.# dnf install mariadb-server
데이터를 복사할 때
mariadb
서비스가 소스 및 대상 시스템에서 실행되고 있지 않은지 확인합니다.# systemctl stop mariadb.service
-
소스 위치의 데이터를 RHEL 9 대상 시스템의
/var/lib/mysql/
디렉터리에 복사합니다. 대상 시스템에서 복사된 파일에 대한 적절한 권한 및 SELinux 컨텍스트를 설정합니다.
# restorecon -vr /var/lib/mysql
mysql:mysql
이/var/lib/mysql
디렉터리에 있는 모든 데이터의 소유자인지 확인합니다.# chown -R mysql:mysql /var/lib/mysql
-
/etc/my.cnf.d/
에 있는 옵션 파일이 MariaDB 10.5 에 유효한 옵션만 포함하도록 구성을 조정합니다. 자세한 내용은 MariaDB 10.4 및 MariaDB 10.5 의 업스트림 문서를 참조하십시오. 대상 시스템에서 MariaDB 서버를 시작합니다.
독립 실행형으로 데이터베이스를 업그레이드하는 경우:
# systemctl start mariadb.service
Galera 클러스터 노드를 업그레이드하는 경우 다음을 수행합니다.
# galera_new_cluster
mariadb
서비스가 자동으로 시작됩니다.
mariadb-upgrade 유틸리티를 실행하여 내부 테이블을 확인하고 복구합니다.
독립 실행형으로 데이터베이스를 업그레이드하는 경우:
$ mariadb-upgrade
Galera 클러스터 노드를 업그레이드하는 경우 다음을 수행합니다.
$ mariadb-upgrade --skip-write-binlog
즉각적 업그레이드와 관련하여 특정 위험 및 알려진 문제가 있습니다. 예를 들어 일부 쿼리가 작동하지 않거나 업그레이드 전과 다른 순서로 실행될 수 있습니다. 이러한 위험 및 문제에 대한 자세한 내용과 인플레이스 업그레이드에 대한 일반적인 내용은 MariaDB 10.5 릴리스 노트 를 참조하십시오.