English | 简体中文
- 已部署 RadonDB MySQL 集群。
本文档介绍如何对部署的 RadonDB MySQL Operator 集群进行备份和恢复。
kind: Secret
apiVersion: v1
metadata:
name: sample-backup-secret
namespace: default
data:
s3-endpoint: aHR0cDovL3MzLnNoMWEucWluZ3N0b3IuY29t
s3-access-key: SEdKWldXVllLSENISllFRERKSUc=
s3-secret-key: TU44TkNUdDJLdHlZREROTTc5cTNwdkxtNTlteE01blRaZlRQMWxoag==
s3-bucket: bGFsYS1teXNxbA==
type: Opaque
s3-xxxx
字段的值采用 base64 编码,注意不要包含换行符的编码。您可以用如下命令获取 base64 编码:
echo -n "替换为您的S3-XXX值"|base64
然后,使用如下命令创建备份 Secret:
kubectl create -f config/samples/backup_secret.yaml
将备份 Secret 名称添加到 mysql_v1alpha1_mysqlcluster.yaml
中,本例中的名称为 sample-backup-secret
:
spec:
replicas: 3
backupSecretName: sample-backup-secret
...
如下创建备份 YAML 配置文件 mysql_v1alpha1_backup.yaml
:
apiVersion: mysql.radondb.com/v1alpha1
kind: Backup
metadata:
name: backup-sample1
spec:
# Add fields here
hostName: sample-mysql-0
clusterName: sample
参数名 | 描述 |
---|---|
hostName | 集群中 Pod 的名称 |
clusterName | 数据库集群名称 |
启动集群后,才可以进行备份操作。
kubectl apply -f config/samples/mysql_v1alpha1_backup.yaml
执行成功后,可以通过如下命令查看备份状况:
kubectl get backups.mysql.radondb.com
NAME BACKUPNAME BACKUPDATE TYPE
backup-sample sample_2022526155115 2022-05-26T15:51:15 S3
检查您的 S3 bucket,得到您需要的备份文件夹,如 sample_2022526155115
。
在 mysql_v1alpha1_mysqlcluster.yaml
中添加 RestoreFrom
字段,如下:
...
spec:
replicas: 3
backupSecretName: sample-backup-secret
restoreFrom: "sample_2022526155115"
...
随后,启动集群,将会从备份文件夹中恢复数据库:
kubectl apply -f config/samples/mysql_v1alpha1_mysqlcluster.yaml