MySql 5.7.40备份到腾讯云cos+从cos恢复

1 备份

1.1 安装coscli

# wget https://github.com/tencentyun/coscli/releases/download/v0.12.0-beta/coscli-linux
# mv coscli-linux /usr/bin/coscli
# chmod 755 /usr/bin/coscli
# coscli --version

如果github慢可以使用国内镜像:

wget https://cosbrowser.cloud.tencent.com/software/coscli/coscli-linux

1.2 准备cos存储桶和coscli账号

创建data存储桶,并且创建apps文件夹,apps下面再创建mysql文件夹。
在这里插入图片描述
在存储桶中,设置“基础配置/生命周期”中,设置备份过期时间。(这里设置,30天后,前缀为backup/的文件将会自动删除)
在这里插入图片描述

创建coscli子账号
在这里插入图片描述
在这里插入图片描述

运行coscli,首次运行coscli,根据提示填写相关信息,其中的session token不填。
在这里插入图片描述

上传

# coscli cp /tmp/a.txt cos://data-2023007/apps/mysql/a.txt

下载

# coscli cp cos://data-2023007/apps/mysql/a.txt /tmp/a.txt

1.3 创建mysqldump备份用户

这里内网用户才有导出权限

mysql> grant select,trigger,show view,lock tables,process,event,reload,replication client on *.* to 'dumper'@'10.0.%' IDENTIFIED BY 'm@xxxxxxx';
mysql> flush privileges;

1.4 备份脚本

vim mysql_backup.sh

#!/bin/bash

function _backup(){

  local databaseName=$1
  local nowDate=$2
  local sqlName=$1.$2.sql
  local tarGzName=$sqlName.tar.gz

  cd /home/admin/backup

  mysqldump -udumper -pxxxbxx -h 10.0.116.115 -P 3306 --databases $databaseName > $sqlName

  tar -czf $tarGzName $sqlName

  coscli cp $tarGzName cos://data-2022/apps/mysql/$databaseName/backup/$tarGzName

  rm -f $tarGzName $sqlName
}

function run(){
  _backup user `date '+%Y%m%d'`

  _backup logs `date '+%Y%m%d'`
}

run

1.5 备份定时任务

chmod a+x mysql_backup.sh给脚本添加运行权限,运行crontab -e设置备份脚本每天运行一次

30 3 * * * sh /home/admin/backup/mysql_backup.sh >> /home/admin/backup/run.log 2>&1 &

2 从cos恢复

2.1 从cos下载文件

# coscli cp cos://data-202207/apps/mysql/user/backup/user.`date '+%Y%m%d'`.sql.tar.gz /tmp/user.`date '+%Y%m%d'`.sql.tar.gz

2.2 解压

# tar -zxvf user.20230115.sql.tar.gz

2.2 导入

将sql文件导入到数据库

# mysql -uroot -pxxxxxxh -h 127.0.0.1 -P 3306 < /home/admin/backup/user.20230115.sql

参考文档

1,《自动备份本地文件、数据库到COS中》:https://cloud.tencent.com/developer/article/1951657

2,《Linux 设置定时任务crontab来自动备份mysql数据到COS上》:https://blog.csdn.net/worldmakewayfordream/article/details/90209793

3,《COSCLI下载与安装配置》:https://cloud.tencent.com/document/product/436/63144

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值