원 클릭 WordPress 앱에서 Percona XtraBackup을 사용한 핫 백업

목차

  • 소개
  • 전제 조건
  • 1 단계 : 비 루트 시스템 사용자 작성
  • 2 단계 : 스토리지 엔진 확인
  • 3 단계 : 백업 할 데이터베이스 사용자 작성
  • 4 단계 : Percona XtraBackup 설치
  • 5 단계 : 백업 스토리지 디렉토리 작성
  • 6 단계 : 첫 번째 전체 백업 생성
  • 7 단계 : 다음 증분 백업 생성
  • 8 단계 : 데이터베이스 복원을위한 백업 파일 준비
  • 9 단계 : 데이터베이스 복원
  • 추가 단계

소개

Percona XtraBackup은 핫 백업을 만드는 데 사용되는 무료 MySQL 기반 프로그램입니다. 또한 오픈 소스입니다. Percona XtraBackup을 사용하면 데이터베이스 서비스를 중지하거나 읽기 전용으로 만들지 않고도 MySQL, MariaDB 또는 Percona Server 데이터베이스를 핫 백업 할 수 있습니다. 이것은 많은 온라인 비즈니스에 중요한 비즈니스 기능입니다.

InnoDB, XtraDB 및 HailDB 스토리지 엔진을 사용하는 데이터베이스의 경우 Percona XtraBackup은 비 차단 백업을 수행 할 수 있습니다. MyISAM, Merge 및 Archive 스토리지 엔진을 사용하는 데이터베이스의 경우 Percona XtraBackup은 백업 절차가 끝날 때 쓰기를 잠시 일시 중지하여 백업을 수행 할 수도 있습니다.

이 기사에서는 Percona XtraBackup을 설치하고 사용하여 One-Click WordPress 애플리케이션을 기반으로 Vultr 서버에서 전체 및 증분 핫 백업을 수행하는 방법을 보여줍니다. 전체 백업과 두 개의 증분 백업을 수행 한 다음 그에 따라 세 개의 백업 각각의 상태로 데이터베이스를 복원합니다.

전제 조건

원 클릭 WordPress Vultr 서버 인스턴스를 처음부터 배포했으며 SSH를 사용하여 루트로 로그인했다고 가정합니다.

1 단계 : 비 루트 시스템 사용자 작성

보안을 위해 루트 권한이있는 다른 사용자 계정을 만든 다음이 계정을 사용하여 로그인하여 시스템에서 일상 작업을 수행하는 것이 좋습니다. 명령을 사용하여 거의 모든 수퍼 유저 명령을 계속 실행할 수 있습니다 sudo.

1) 새로운 사용자를 만듭니다. 대체 sysuser자신의 이름으로.

useradd sysuser

2) 새 사용자의 비밀번호를 설정하십시오. 대체 sysuser자신의 이름으로.

passwd sysuser

3) 새로운 사용자에게 루트 권한을 부여하십시오.

visudo

아래 단락을 찾으십시오.

## Allow root to run any commands anywhere
root     ALL=(ALL)     ALL

이 단락 바로 아래에 행을 추가하고 sysuser자신의 사용자 이름으로 바꿉니다.

sysuser     ALL=(ALL)     ALL

저장하고 종료하십시오.

:wq

4) 새 사용자 계정으로 전환하십시오.

logout

그런 다음 새 사용자의 자격 증명을 사용하여 터미널 창에서 로그인하십시오.

2 단계 : 스토리지 엔진 확인

기본적으로 MySQL 루트 로그인은의 VPS에 저장됩니다 /root/.my.cnf. 다음 명령을 사용하여 터미널에 비밀번호를 표시하십시오.

sudo cat /root/.my.cnf

화면에 표시된 자격 증명을 사용하여 MySQL 콘솔에 로그인하십시오.

mysql -u root -p

MySQL 셸에서 다음을 실행하십시오.

SHOW DATABASES;

모든 MySQL 데이터베이스가 화면에 표시됩니다. like라는 wp5273512데이터베이스는 백업하려는 WordPress 데이터베이스입니다. 다음 명령에서 wp5273512자신의 것으로 바꾸 십시오.

USE wp5273512;

각 테이블의 스토리지 엔진을 확인하십시오.

SHOW TABLE STATUS\G

WordPress MySQL 데이터베이스의 모든 테이블이 Pernoa XtraBackup으로 핫 백업을 수행하기에 완벽한 InnoDB 스토리지 엔진을 사용하고 있음을 알 수 있습니다.

MyISAM 스토리지 엔진을 사용하는 다른 MySQL 데이터베이스의 경우 쓰기를 잠시 일시 중지하여 Percona XtraBackup으로 데이터베이스를 백업 할 수 있습니다.

3 단계 : 백업 할 데이터베이스 사용자 작성

여전히 MySQL 셸에서 다음 명령을 사용하여 백업 전용 데이터베이스 사용자를 만듭니다. 데이터베이스 사용자 이름 xbuser과 비밀번호 xbpasswd를 자신의 것으로 바꾸십시오 .

CREATE USER 'xbuser'@'localhost' IDENTIFIED BY 'xbpasswd';
GRANT RELOAD, LOCK TABLES, REPLICATION CLIENT, CREATE TABLESPACE, PROCESS, SUPER, CREATE, INSERT, SELECT ON *.* TO 'xbuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;

위에 부여 된 권한은 전체 Percona XtraBackup 기능에 필요합니다. 기능을 줄이고 보안을 강화하기 위해 일부를 제거 할 수 있습니다. 자세한 내용은 Percona XtraBackup 공식 웹 사이트를 참조하십시오 .

4 단계 : Percona XtraBackup 설치

Percona의 RPM 저장소에서 Percona XtraBackup을 매우 쉽게 설치할 수 있습니다.

sudo yum install -y http://www.percona.com/downloads/percona-release/redhat/0.1-3/percona-release-0.1-3.noarch.rpm
sudo yum install -y percona-xtrabackup

5 단계 : 백업 스토리지 디렉토리 작성

먼저 그룹 에 사용자 sysuser를 추가해야합니다 mysql. 대체 sysuser자신의 이름으로.

sudo gpasswd -a sysuser mysql

전체 백업을 저장할 디렉토리를 작성하십시오.

sudo mkdir -p /dbbackup/full/

증분 백업을 저장할 다른 디렉토리를 작성하십시오.

sudo mkdir -p /dbbackup/inc/

이 디렉토리의 소유자를 user sysuser및 group으로 변경하십시오 sysuser.

sudo chown -R sysuser:sysuser /dbbackup

변경 사항을 적용하려면 로그 아웃하십시오.

logout

그런 다음 sysuser다시 로그인 하십시오.

6 단계 : 첫 번째 전체 백업 생성

XtraBackup은 주로 XtraBackup 프로그램과 innobackupexperl 스크립트 로 구성됩니다 . 일반적으로 innobackupexperl 스크립트를 사용하여 편의를 위해 다양한 운영 절차를 수행 할 수 있습니다 .

첫 번째 전체 백업을 작성하려면 다음 명령을 입력하십시오. 데이터베이스 사용자 이름 xbuser, 데이터베이스 사용자 비밀번호 xbpasswd및 전체 백업 디렉토리 /dbbackup/full/를 자신의 것으로 바꾸십시오 .

sudo innobackupex --user=xbuser  --password=xbpasswd /dbbackup/full/

이 명령이 올바르게 실행되면 "innobackupex : completed OK!"라는 확인 메시지가 나타납니다. 출력의 마지막 줄에서.

이 전체 백업으로 새로 생성 된 모든 파일은 시간 소인이 지정된 디렉토리 아래에 저장됩니다 /dbbackup/full/. 예를 들면 다음과 같습니다 /dbbackup/full/2015-05-22_05-45-54.

7 단계 : 다음 증분 백업 생성

첫 번째 증가 백업을 작성하려면 다음 명령을 입력하십시오. 명령에서 변수를 적절히 대체하십시오.

sudo innobackupex --user=xbuser  --password=xbpasswd --incremental --incremental-basedir=/dbbackup/full/2015-05-22_05-45-54 /dbbackup/inc/

다시 "innobackupex : completed OK!"가 표시됩니다. 명령이 성공적으로 실행될 때 출력이 끝날 때 백업 파일은의 타임 스탬프 디렉토리에 저장됩니다 /dbbackup/inc/.

다음 명령을 입력하여 두 번째 증가 백업을 작성하십시오. 그에 따라 명령의 변수를 바꾸십시오.

sudo innobackupex --user=xbuser  --password=xbpasswd --incremental --incremental-basedir=/dbbackup/inc/2015-05-22_05-48-12 /dbbackup/inc/

성공하면 "innobackupex : completed OK!"가 표시됩니다. 다시 메시지. /dbbackup/inc/백업 파일을 보려면 폴더를 다시 확인하십시오 .

8 단계 : 데이터베이스 복원을위한 백업 파일 준비

데이터베이스 복원에 사용하기 전에 모든 데이터베이스 백업 파일을 준비해야합니다.

참고 : 준비 및 복원 절차를 수행하기 전에 /dbbackup/실수로 파일 백업이 손상된 경우 전체 백업 디렉토리 (예 :) 를 다른 곳에 보관하는 것이 좋습니다 .

각 백업 디렉토리 xtrabackup_checkpoints에는 백업 유형과 시작 및 종료 로그 시퀀스 번호 ( from_lsnto_lsn) 가 포함 된 파일 이 있습니다 . 이 숫자를 사용하여 데이터베이스 복원 전략을 명확히 할 수 있습니다. 아래 예를보십시오.

에서 xtrabackup_checkpoints첫 번째 전체 백업 파일, 내가 가진 :

backup_type = full-backuped
from_lsn = 0
to_lsn = 2932478

에서 xtrabackup_checkpoints첫 번째 증분 백업의 파일, 내가 가진 :

backup_type =incremental
from_lsn = 2932478
to_lsn = 2970177

에서 xtrabackup_checkpoints두 번째 증분 백업의 파일, 내가 가진 :

backup_type = incremental
from_lsn = 2970177
to_lsn = 3004672

간단히 말하면 lsn의 증가하는 순서로 각 백업을 처리해야합니다. lsn 시퀀스가 ​​불완전하거나 장애가있는 경우 데이터가 손실 될 수 있습니다.

참고 : 다음 명령은 세 개의 디렉토리를 포함하며, 자신의 디렉토리로 바꾸십시오.

데이터베이스를 첫 번째 전체 백업 상태로 복원하려면 다음 명령을 사용하여 백업 파일을 준비해야합니다.

sudo innobackupex --apply-log /dbbackup/full/2015-05-22_05-45-54

데이터베이스를 첫 번째 증분 백업 상태로 복원하려면 다음 명령을 사용하여 백업 파일을 준비해야합니다.

sudo innobackupex --apply-log --redo-only /dbbackup/full/2015-05-22_05-45-54
sudo innobackupex --apply-log /dbbackup/full/2015-05-22_05-45-54 --incremental-dir=/dbbackup/inc/2015-05-22_05-48-12
sudo innobackupex --apply-log /dbbackup/full/2015-05-22_05-45-54

데이터베이스를 두 번째 증분 백업 상태로 복원하려면 다음 명령을 사용하여 백업 파일을 준비해야합니다.

sudo innobackupex --apply-log --redo-only /dbbackup/full/2015-05-22_05-45-54
sudo innobackupex --apply-log --redo-only /dbbackup/full/2015-05-22_05-45-54 --incremental-dir=/dbbackup/inc/2015-05-22_05-48-12
sudo innobackupex --apply-log /dbbackup/full/2015-05-22_05-45-54 --incremental-dir=/dbbackup/inc/2015-05-22_05-51-32
sudo innobackupex --apply-log /dbbackup/full/2015-05-22_05-45-54

참고 사항 :

증분 백업의 --redo-only경우 마지막 증분 백업을 제외한 모든 옵션을 사용해야합니다 . 그럼에도 불구하고 마지막 증분 백업에서이 옵션을 사용하는 것은 여전히 ​​데이터 일관성에 해를 끼치 지 않으며 데이터베이스 롤백으로 인해 약간의 지연 만 발생합니다.

각 증분 시나리오의 마지막 명령은 선택 사항이지만 복원 속도가 빨라지므로 권장됩니다.

준비 후 증분 백업 파일에 기록 된 변경 내용은 준비된 기본 전체 백업 파일에 추가되므로 전체 백업 또는 증분 백업을 선택하더라도 준비된 전체 백업 파일을 사용하여 데이터베이스를 복원해야합니다.

9 단계 : 데이터베이스 복원

데이터베이스를 복원하기 전에 데이터베이스 서비스를 중지해야합니다.

sudo service mysqld stop

또한 데이터베이스 디렉토리를 비워야합니다. 예방을 위해 현재 데이터베이스 파일을 다른 위치로 옮길 수 있습니다.

sudo mkdir /currentdb
sudo mv /var/lib/mysql/* /currentdb

준비된 "전체 백업"파일로 데이터베이스를 복원하십시오.

sudo innobackupex --copy-back /dbbackup/full/2015-05-22_05-45-54

복원 프로시 저는 데이터베이스 디렉토리의 소유자를 수정하므로 mysql:mysql이를 작동 시키려면이를 다시 변경해야 합니다.

sudo chown -R mysql:mysql /var/lib/mysql

데이터베이스 서비스를 다시 시작하십시오.

sudo service mysqld start

그게 다야. 이 시점에서 WordPress 사이트를 방문하여 복원 프로세스가 성공했는지 확인할 수 있습니다.



Leave a Comment

AI가 랜섬웨어 공격의 증가와 싸울 수 있습니까?

AI가 랜섬웨어 공격의 증가와 싸울 수 있습니까?

랜섬웨어 공격이 증가하고 있지만 AI가 최신 컴퓨터 바이러스를 처리하는 데 도움이 될 수 있습니까? AI가 답인가? AI boone 또는 bane인지 여기에서 읽으십시오.

ReactOS: 이것이 Windows의 미래입니까?

ReactOS: 이것이 Windows의 미래입니까?

오픈 소스이자 무료 운영 체제인 ReactOS가 최신 버전과 함께 제공됩니다. 현대 Windows 사용자의 요구 사항을 충족하고 Microsoft를 무너뜨릴 수 있습니까? 이 구식이지만 더 새로운 OS 환경에 대해 자세히 알아보겠습니다.

WhatsApp 데스크톱 앱 24*7을 통해 연결 유지

WhatsApp 데스크톱 앱 24*7을 통해 연결 유지

Whatsapp은 마침내 Mac 및 Windows 사용자용 데스크톱 앱을 출시했습니다. 이제 Windows 또는 Mac에서 Whatsapp에 쉽게 액세스할 수 있습니다. Windows 8 이상 및 Mac OS 10.9 이상에서 사용 가능

AI는 어떻게 프로세스 자동화를 다음 단계로 끌어올릴 수 있습니까?

AI는 어떻게 프로세스 자동화를 다음 단계로 끌어올릴 수 있습니까?

인공 지능이 소규모 회사에서 어떻게 인기를 얻고 있으며 어떻게 인공 지능이 성장할 가능성을 높이고 경쟁자가 우위를 점할 수 있는지 알아보려면 이 기사를 읽으십시오.

macOS Catalina 10.15.4 추가 업데이트로 인해 해결보다 더 많은 문제가 발생함

macOS Catalina 10.15.4 추가 업데이트로 인해 해결보다 더 많은 문제가 발생함

최근 Apple은 문제를 해결하기 위해 macOS Catalina 10.15.4 추가 업데이트를 출시했지만 이 업데이트로 인해 Mac 컴퓨터의 브릭킹으로 이어지는 더 많은 문제가 발생하는 것 같습니다. 자세히 알아보려면 이 기사를 읽어보세요.

빅데이터의 13가지 상용 데이터 추출 도구

빅데이터의 13가지 상용 데이터 추출 도구

빅데이터의 13가지 상용 데이터 추출 도구

저널링 파일 시스템이란 무엇이며 어떻게 작동합니까?

저널링 파일 시스템이란 무엇이며 어떻게 작동합니까?

우리 컴퓨터는 모든 데이터를 저널링 파일 시스템이라고 하는 체계적인 방식으로 저장합니다. 검색을 누르는 즉시 컴퓨터에서 파일을 검색하고 표시할 수 있는 효율적인 방법입니다.https://wethegeek.com/?p=94116&preview=true

기술적 특이점: 인류 문명의 먼 미래?

기술적 특이점: 인류 문명의 먼 미래?

과학이 빠른 속도로 발전하고 우리의 많은 노력을 인수함에 따라 설명할 수 없는 특이점에 처할 위험도 높아집니다. 특이점이 우리에게 무엇을 의미할 수 있는지 읽어보십시오.

26가지 빅 데이터 분석 기법에 대한 통찰: 1부

26가지 빅 데이터 분석 기법에 대한 통찰: 1부

26가지 빅 데이터 분석 기법에 대한 통찰: 1부

2021년 의료 분야에서 인공 지능의 영향

2021년 의료 분야에서 인공 지능의 영향

의료 분야의 AI는 지난 수십 년 동안 큰 도약을 했습니다. 따라서 의료 분야에서 AI의 미래는 여전히 나날이 성장하고 있습니다.