结合cronjob实现的mysql多线程逻辑备份
本文最后更新于0 天前,其中的信息可能已经过时,如有错误请发送邮件到big_fw@foxmail.com


备份方式说明

  • 备份工具是基于mydumper完成,mydumper支持多线程备份,可以提高逻辑备份的效率
  • 备份触发方式是通过k8s的cronjob实现
  • 支持本地存储和上传S3

部署文件参考

apiVersion: batch/v1beta1
kind: CronJob
metadata:
  name: mydumper
spec:
  concurrencyPolicy: Allow
  failedJobsHistoryLimit: 1
  jobTemplate:
    metadata:
      creationTimestamp: null
    spec:
      activeDeadlineSeconds: 7200
      backoffLimit: 3
      completions: 1
      parallelism: 1
      template:
        spec:
          containers:
            - env:
                # 指定环境名称,用于告警
                - name: ENV_NAME
                  value: sjsk-prod
                # 指定mysql实例名称,当环境中存在多个mysql个实例时,用于区分
                - name: MYSQL_NAME
                  value: geip
                # 指定mysql用户名
                - name: MYSQL_USER
                  value: root
                # 指定mysql端口
                - name: MYSQL_PORT
                  value: "3306"
                # 指定mysql链接地址
                - name: MYSQL_HOST
                  value: ha-cluster-mysql-0.mysql.public-service
                # 指定mysql密码
                - name: MYSQL_PASSWD
                  value: h4D!P4hV^Lo#jHdr
                # 指定mysql备份时,本地保存数量
                - name: MYSQL_SAVE_NUM
                  value: "3"
                # 企微告警机器人token
                - name: WX_TOKEN
                  value: 5159f03a-85c4-47db-9fda-038560052f34
                # 企微@人员, 域账号即可
                - name: MENTION_USER
                  value: chenf-o
                # 是否开启压缩
                - name: IS_COMPRESS
                  value: "true"
                # 指定存储方式,可选:minio, local, oss
                - name: STORAGE_TYPE
                  value: minio
                # 指定S3的ak
                - name: S3_ACCESS_KEY
                  value: AKIDXuwe13k8JAhuo44j68pIbaKUNwA4cuv1
                # 指定s3的sk
                - name: S3_SECRET_KEY
                  value: yiBK9friFRIp1siHZXATS7S9ckY19xQZ
                # 指定s3的endpoint
                - name: S3_ENDPOINT
                  value: http://minio-nfs.public-service:9000
                # 指定s3的bucket, 需要创建
                - name: S3_BUCKET
                  value: backup
                # 指定备份时的并发数
                - name: BACKUP_PARALLEL
                  value: "6"
                - name: CPU_LIMIT
                  valueFrom:
                    resourceFieldRef:
                      containerName: mydumper
                      divisor: "0"
                      resource: limits.cpu
              image: registry.cn-beijing.aliyuncs.com/gldsg-prod/mydumper:v1.2-20221108
              imagePullPolicy: IfNotPresent
              name: mydumper
              resources:
                limits:
                  cpu: 4
              securityContext:
                capabilities: {}
              volumeMounts:
                - mountPath: /data/mysql/
                  name: mysql-data
                - mountPath: /etc/localtime
                  name: time
          dnsPolicy: ClusterFirst
          imagePullSecrets:
            - name: cloud-reg
          restartPolicy: Never
          schedulerName: default-scheduler
          securityContext:
            runAsUser: 0
          terminationGracePeriodSeconds: 30
          volumes:
            - hostPath:
                path: /data/mysqlBackup
                type: DirectoryOrCreate
              name: mysql-data
            - hostPath:
                path: /etc/localtime
                type: ""
              name: time
  schedule: 15 00 * * *
  successfulJobsHistoryLimit: 3
  suspend: false
文末附加内容
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇