en
지원하는 언어
  • en
  • de
  • fr
  • es
  • br
  • ru
  • jp
  • kr
AI 번역
  • ae
  • cn
  • vn
  • id
  • eu
  • il
  • gr
  • no
  • fi
  • dk
  • se
  • tr
  • bg
  • nl
  • it
  • pl
  • hu
  • ro
  • ua
  • cs

(MySQL) 데이터베이스를 Percona로 업그레이드

개요

버전 11부터 Easy Redmine만 지원 퍼 코나 데이터베이스 서버. 이 매뉴얼은 이 성능 최적화 DB 서버로 업그레이드하는 방법을 안내합니다.

단계

1. 최근 MySQL 버전 확인

Percona Server 버전은 해당 MySQL 버전과만 호환 가능합니다. 즉, MySQL 5.6은 Percona Server 5.6으로만 교체되어야 합니다. 일치하지 않는 버전을 사용하려고 하면 테이블이 손상되거나 서버가 시작되지 않을 수 있습니다.

현재 실행 중인 버전을 확인하려면 먼저 현재 루트 비밀번호로 MySQL에 연결하십시오.

mysql -u root -p

그런 다음 현재 설치된 버전을 찾습니다.

mysql 버전

이것은 Percona Server 5.5 또는 5.6을 설치해야 하는지 여부를 식별해야 합니다. 한 가지 극단적인 경우는 Percona Server 10.0으로 교체해야 하는 MariaDB 5.6을 실행하는 경우입니다. 5.5 이전 버전의 MySQL을 실행 중인 경우 계속하기 전에 먼저 MySQL을 5.5 이상으로 업그레이드해야 합니다.

2. MySQL 제거

Percona 서버를 설치하기 전에 현재 설치된 모든 MySQL 또는 MariaDB 패키지를 제거해야 합니다. 동일한 데이터에서 두 패키지를 동시에 실행하려고 하면 안 되기 때문입니다.

!!! 계속하기 전에 데이터와 구성 파일을 백업해야 합니다. !!!

MySQL을 제거하기 전에 패키지 제거 중에 프로세스가 안전하게 중지되지 않은 경우 데이터 손상을 방지하기 위해 데이터베이스 서버를 중지하는 것이 좋습니다.

서비스 mysql 중지

Debian 기반 서버의 경우 MySQL 서버 및 클라이언트 패키지를 제거해야 합니다.

apt-get mysql-server mysql-client mysql-common 제거 apt-get autoremove

3. Percona 서버 설치

Percona 서버는 Linux 배포판의 기본 리포지토리에 없을 수 있습니다. Percona는 사용자에게 최대한 빨리 업데이트를 푸시할 수 있도록 자체 리포지토리를 관리하기 때문입니다. 따라서 설치하기 전에 Percona APT 리포지토리를 수동으로 추가해야 합니다. 서버의 OS에 대해 아래 지침을 따르십시오.

Percona에서 출시한 데비안 패키지가 서명되었습니다. 즉, APT에 새 서명 키를 알려야 합니다.

apt-key adv --keyserverkeys.gnupg.net --recv-keys 1C4CBDCDCD2EFD2A

다음 단계를 수행하기 전에 현재 사용 중인 배포판을 확인하십시오. 사용 중인 배포 버전이 확실하지 않은 경우 다음 명령을 실행할 수 있습니다.

lsb_release -c

실행 중인 배포가 확실하면 /etc/apt/sources.list 파일에 다음 행을 추가하여 새 Percona 저장소를 추가할 수 있습니다.

nano /etc/apt/sources.list

파일 맨 아래에 다음 줄을 추가하고 DIST를 배포 이름으로 바꾸십시오(즉, DIST를 buster 또는 bullseye 등으로 바꿉니다).

deb http://repo.percona.com/apt DIST 메인 deb-src http://repo.percona.com/apt DIST 메인

소스 파일을 저장한 후에는 Percona 패키지를 고정하여 Percona의 패키지가 배포의 기본 리포지토리에 있는 패키지보다 항상 우선 순위가 높은지 확인해야 합니다. 이를 위해 먼저 APT에 대한 새 기본 설정 파일을 만듭니다.

터치 /etc/apt/preferences.d/00percona.pref

이제 선택한 텍스트 편집기(Vim, nano 등)를 사용하여 /etc/apt/preferences.d/00percona.pref에서 이 파일을 열고 다음 줄을 추가하고 저장합니다.

패키지: * 핀: 릴리스 o=Percona 개발 팀 핀 우선순위: 1001

마지막으로 소스가 추가되고 고정되면 패키지 목록을 업데이트하고 Percona Server 패키지를 설치할 수 있습니다.

(신규 전용) 새로운 Droplet의 경우 Percona 팀에서 권장하는 Percona Server 버전을 설치하는 percona-server-server 가상 패키지를 설치하는 것이 좋습니다.

apt-get 업데이트 apt-get 설치 percona-server-server

(교체 전용) 이전에 찾은 MySQL 또는 MariaDB 버전을 참조하십시오. 버전 5.5를 교체하려면 percona-server-server-5.5 패키지를 사용하고 5.6의 경우 percona-server-server-5.6을 사용합니다. MariaDB 10.0은 Percona Server 5.6으로 교체되어야 합니다.

apt-get 업데이트 apt-get 설치 percona-server-server-5.6

이 명령이 오류 없이 완료되면 Percona Server가 설치되고 성공적으로 실행됩니다. 그러나 설치 중에 오류가 발생하면 사용 가능한 메모리가 충분한지 확인하십시오. 시작 오류에 대한 자세한 정보는 /var/log/mysqld.log에 있는 Percona Server의 로그 파일에서 찾을 수 있습니다.

(신규 전용) 새로운 시스템에 설치할 때 설치 과정에서 루트 데이터베이스 사용자 암호를 설정하라는 메시지가 표시될 수 있습니다. 이 상황에서는 명백한 보안 문제가 남아 있지 않도록 mysqlsecureinstallation을 실행하는 것이 좋습니다.

/usr/bin/mysql_secure_installation

4. Percona 구성

기존 MySQL 설치를 교체했다면 이제 다시 복사할 수 있는 구성 파일의 복사본을 만들어야 합니다. 예제 설정이 유용할 수 있지만 이 섹션을 건너뛸 수 있습니다.

그러나 Percona Server를 새 Droplet에 설치하는 경우 Percona Server가 현재 Droplet에 적합하지 않을 수 있는 기본값에서 실행 중이므로 구성 파일을 추가해야 합니다. 구성을 처음 업데이트하기 전에 PID 파일 위치가 변경될 수 있으므로 Percona Server를 중지하는 것이 좋습니다. 향후 구성 변경의 경우 변경 후 간단한 재시작으로 충분합니다.

서비스 mysql 중지

다음은 클라우드 서버에서 사용하는 구성의 예입니다. 이 파일은 /etc/mysql/my.cnf에 기록되어야 합니다.

[mysqld] 사용자 = mysql pid-file = /var/run/mysqld/mysqld.pid 소켓 = /var/run/mysqld/mysqld.sock 포트 = 3306 basedir = /usr datadir = /home/mysql tmpdir = /tmp # log = /var/log/mysql/mysqld.log log-error = /var/log/mysql/mysqld.err tmp_table_size = 128M max_heap_table_size = 128M lc-messages-dir = /usr/share/mysql skip-external-locking bind -address = 0.0.0.0 key_buffer_size = 64M max_allowed_packet = 64M thread_stack = 192K thread_cache_size = 8 # myisam-recover = BACKUP # 새 버전에서는 사용할 수 없습니다. collation_server = utf1000mb16_unicode_ci character_set_server = utf256mb1 # 비밀번호 해싱 방식에 기반한 인증 허용 default_authentication_plugin=mysql_native_password innodb_file_format = BARRACUDA innodb_file_per_table = 8 innodb_buffer_pool_size에서 innodb_buffer_pool_size에 오류를 인쇄합니다. nodb_flush_log_at_trx_commit sql_mode = STRICT_TRANS_TABLES, NO_ZERO_IN_DATE에 캐시 innodb_flush_method를 = O_DIRECT innodb_log_buffer_size = 4M innodb_log_file_size = 8기가바이트 # 가입 성능 join_buffer_size = 4M sort_buffer_size = 1M table_open_cache = 4096M open_files_limit = 버전 2 # 호환성 전 8 show_compatibility_8 =없이 1M 블록 diske에 = 8 개 # 쓰기 [,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION innodb_large_prefix = 8expire_logs_days = 4 max_binlog_size = 250000M slow_query_log = 5.6M slow_query_log = .myquery_log_file =

5. 설치 확인

이제 Percona Server를 설치하고 실행했으므로 몇 가지 최종 검사를 실행하여 모든 것이 계획대로 진행되었는지 확인할 수 있습니다. 먼저 mysql 클라이언트를 사용하여 데이터베이스에 연결하고 데이터베이스 루트 사용자 암호로 로그인합니다.

mysql -u root -p

즉시 연결 텍스트의 서버 버전이 Percona Server를 지정하고 있음을 알 수 있습니다. SHOW VARIABLES 명령을 사용하여 설치된 특정 버전에 대한 자세한 정보를 확인할 수 있습니다.

"version%"과 같은 변수 표시;

다음으로 InnoDB 기반 테이블에 대해 XtraDB를 활용하고 있는지 확인할 수 있습니다.

스토리지 엔진 표시\G

결과는 다른 많은 블록 중에서 이 블록을 표시합니다.

... *************************** 8. 행 ***************** ********** 엔진: InnoDB 지원: DEFAULT 주석: Percona-XtraDB, 트랜잭션, 행 수준 잠금 및 외래 키 지원 트랜잭션: YES XA: YES 저장점: YES ... 집합의 9개 행( 0.00초) 

응답 내의 주석 필드는 XtraDB 엔진이 InnoDB 기반 테이블용 엔진으로 로드되었음을 보여줍니다. 마지막 점검으로 모든 데이터베이스와 테이블이 새 서버에서 제대로 읽히고 있는지 확인하는 것이 좋습니다.

이 모든 검사를 통과했다면 이제 Percona Server가 성공적으로 실행된 것입니다. 그러나 이러한 검사 중 하나라도 성공하지 못한 경우 MySQL 버전 번호를 Percona Server 버전 번호와 일치시키는 데 특히 주의하면서 이 문서의 모든 이전 단계를 올바르게 완료했는지 확인하십시오.

30일 무료 평가판으로 Easy Redmine을 사용해 보세요

지리적 위치에서 모든 기능, SSL 보호, 일일 백업