작성자: Fly-bird 원본출처: https://tidb.net/blog/0b55fa52
배경 : 회사 요구 사항으로 인해 데이터베이스의 데이터 보안이 보장되어야 하며, 우리 프로덕션 환경의 데이터베이스는 데이터베이스의 고가용성을 보장하기 위해 전체 백업 + 증분 백업 + 데이터베이스에서 실시간 동기화 방법을 채택합니다. 우리 회사 생산 환경의 데이터베이스 백업 방법을 소개합니다.
참고: 고가용성을 보장하기 위해 슬레이브 데이터베이스에 데이터를 실시간 동기화합니다(펌프+드레이너 사용). 또한 실수로 데이터가 삭제되는 것을 방지하기 위해 언제든지 데이터를 복구하는 작업도 지원합니다. 이에 대해서는 다른 기사에서 소개하겠습니다. . 펌프는 binlog 로그를 생성하고 드레이너는 다운스트림 데이터와 동기화합니다.
**참고: **이 실제 작업은 Tidb의 BR 도구와 펌프+드레이너 구성 요소를 사용하여 데이터베이스의 전체 백업, 복구 및 증분 백업을 수행합니다(백업은 파일로 저장됨). 실제 작업은 다음과 같습니다.
1. Tidb 설치 이 서비스는 데이터 복구를 위한 대상 머신으로 사용됩니다(데이터를 검색하는 데 사용됩니다. 리소스를 절약하려면 Tidb 단일 노드를 설치하십시오). 설치 단계는 다음과 같습니다.
1. tiup 도구 설치
curl --proto '=https' --tlsv1.2 -sSf https://tiup-mirrors.pingcap.com/install.sh |sh
2. 환경 변수 설정
source .bash_profile
3. 구성 요소 설치
tiup cluster
4. 클러스터 구성 파일 topology.yaml을 작성합니다.
global:
user: "tidb"
ssh_port: 22
deploy_dir: "/tidb-deploy"
data_dir: "/tidb-data"
pd_servers:
- host: 192.168.195.139
tidb_servers:
- host: 192.168.195.139
tikv_servers:
- host: 192.168.195.139
tiflash_servers:
- host: 192.168.195.139
monitoring_servers:
- host: 192.168.195.139
grafana_servers:
- host: 192.168.195.139
alertmanager_servers:
- host: 192.168.195.139
5. 위험 요소를 확인하세요
tiup cluster check ./topology.yaml --user root -p
6. 수리 위험
tiup cluster check ./topology.yaml --apply --user root -p
7. 클러스터 배포
tiup cluster deploy qzn v6.1.1 ./topology.yaml --user root -p
8. 클러스터 초기화
tiup cluster start qzn --init #记录下生成的密码The new password is: '*******'.
9. 배포가 완료되었습니다.다음과 같이 클러스터 정보를 확인합니다.데이터베이스에 비즈니스 데이터가 없습니다.
2. TIDB 원래 클러스터에 펌프 노드 추가
1. 원본 클러스터 정보를 다음과 같이 확인합니다.
2. 확장 파일을 편집합니다. /data/pump-qzn.yaml은 확장이 필요한 구성 파일입니다. Pump는 바이너리 파일을 생성합니다. Drainer는 binlog를 파일에 저장합니다. 구체적인 내용은 다음과 같습니다.
global:
user: "tsp-tidb"
ssh_port: 22
deploy_dir: "/tidb-deploy"
data_dir: "/tidb-data"
pump_servers:
- host: 192.168.195.140
port: 8250
deploy_dir: "/tidb-deploy/pump-8250"
data_dir: "/tidb-data/pump-8250"
# The following configs are used to overwrite the `server_configs.pump` values.
config:
gc: 7
drainer_servers:
- host: 192.168.195.140
port: 8249
deploy_dir: "/tidb-deploy/drainer-8249"
data_dir: "/tidb-data/drainer-8249"
# If drainer doesn't have a checkpoint, use initial commitTS as the initial checkpoint.
# Will get a latest timestamp from pd if commit_ts is set to -1 (the default value).
commit_ts: -1
# The following configs are used to overwrite the `server_configs.drainer` values.
config:
syncer.db-type: "file"
3. 클러스터 확장
tiup cluster scale-out 集群名 /data/pump-qzn.yaml --user root -p
4. 펌프 노드 추가 후 클러스터 상태 확인
tiup 클러스터 표시 클러스터 이름, 각 노드가 작동 중인지 확인
5. TIDB의 binglog 구성 활성화
vi /tidb-deploy/tidb-4000/conf/tidb.toml
加入下面内容
[binlog]
enable = true
ignore-error = true
然后重启tidb
tiup cluster restart qzn -N 192.168.195.140:4000
在mysql客户端中查看是否开启(显示为ON)
show variables like "log_bin";
6. 소스 데이터베이스에 로그인하고 qzn_test 데이터베이스와 테이블 정보를 생성한 후 테이블에 데이터 행을 삽입합니다.
3. Tidb 원본 클러스터 백업 데이터 (여기에는 단일 데이터베이스만 백업하는 내용이 나와 있습니다. br 백업 및 복구에 대한 공식 문서를 참조하세요.) BR 백업 도구를 다운로드하세요. 백업 폴더에는 777 권한이 필요합니다. 다운로드 페이지는 https: / /cn.pingcap.com/product -커뮤니티/
mkdir -p /data/qzn/qzn_test
chmod -R 777 /data/qzn/qzn_test
wget https://download.pingcap.org/tidb-community-toolkit-v6.1.1-linux-amd64.tar.gz
tar -zxvf tidb-community-toolkit-v6.1.1-linux-amd64.tar.gz -C /data/
cd /data/tidb-community-toolkit-v6.1.1-linux-amd64
tar -zxvf br-v6.1.1-linux-amd64.tar.gz -C /data/
cd /data/
./br backup db -s local:///data/qzn/qzn_test --pd "192.168.195.140:2379" --db qzn_test --ratelimit 120 --log-file backupqzn_test.log
4. Tidb 대상 데이터베이스 복구 데이터 br 복구 백업(백업 파일을 대상 데이터베이스 서버에 복사)
139 서버에 br 도구 배포
#140上发送文件到139
scp br [email protected]:/data/
scp -r qzn_test/ [email protected]:/data/qzn/
#在139服务器上操作
./br restore db -s local:///data/qzn/qzn_test --db qzn_test --pd "192.168.195.139:2379" --log-file restore.log
5. 대상 데이터베이스(139)를 확인하면 데이터 복구가 완료되었습니다.
6. 데이터베이스 서버를 확인한다(140). binlog 파일이 생성되었으며, 이 파일은 증분 백업 파일이며, 실제 백업 과정에서는 일일 Br 백업 + 증분 백업으로 데이터베이스를 백업한다.
오픈 소스 프레임워크 NanUI의 작성자가 철강 판매로 전환하여 프로젝트가 중단되었습니다. Apple App Store의 무료 목록 1위는 포르노 소프트웨어인 TypeScript입니다. 이제 막 인기를 얻었는데 왜 대기업들은 이를 포기하기 시작합니까? ? TIOBE 10월 목록: Java가 가장 큰 감소세를 보이고 C#은 Java Rust 1.73.0 출시 에 가까워지고 있습니다. 한 남자가 AI 여자친구의 부추김을 받아 영국 여왕을 암살했으며 9년 징역형을 선고받았습니다. Qt 6.6 공식 출시 Reuters: RISC-V 기술이 중미 기술 전쟁의 핵심이 된다 새로운 전장 RISC-V: 단일 기업이나 국가에 의해 통제되지 않는 Lenovo, Android PC 출시 계획위 내용으로 데이터베이스 백업 및 복구의 기본 작업이 완료되었습니다. 프로덕션 클러스터에 tikv 노드가 여러 개 있는 경우 모든 tikv 백업 데이터가 공유 디스크에 기록될 수 있도록 백업 중에 공유 디스크를 정지해야 합니다.