MySQL数据备份到腾讯云存储cos
linux配置MySQL数据备份到腾讯云存储cos
官方文档https://cloud.tencent.com/document/product/436/63144
全程使用root管理员权限
安装coscli
wget https://cosbrowser.cloud.tencent.com/software/coscli/coscli-linux && mv coscli-linux /usr/bin/coscli && chmod 755 /usr/bin/coscli
去腾讯云后台搞到key秘钥,且授权好全部所需权限
https://console.cloud.tencent.com/cam/user/create?systemType=FastCreateV2
配置文件
vim ~/.cos.yaml
,如果不想使用配置或者直接写配置有问题的话,直接在命令行输入coscli然后回车,交互式处理初始化,基本上就是输入secretid、secretkey和桶名称和endpoint,endpoint是你该地区的地址,其他回车就行,不懂的看官网也应该明白配置文件版:
1
2
3
4
5
6
7
8
9
10
11
12
13
14cos:
base:
secretid: xxxxxxx
secretkey: xxxxxx
sessiontoken:
protocol: https
mode: ""
cvmrolename: ""
buckets:
- name: mysql-back-xxxxxxxx
alias: mysql-back-xxxxxxxx
region: ""
endpoint: cos.ap-singapore.myqcloud.com
ofs: false测试是否可用:
coscli ls
1
2
3
4
5
6
7
8[root@ser087655429740 tmp]# coscli ls
BUCKET NAME | REGION | CREATE DATE
------------------------+-----------------+-----------------------
mysql-back-xxxxxxxx | ap-singapore | 2023-10-20T06:40:24Z
------------------------+-----------------+-----------------------
TOTAL BUCKETS: | 1
------------------+-----------------------配置mysqldump
1
2
3
4# 配置信息your_username和your_password
echo -e "[client]\nuser=your_username\npassword=your_password" > ~/.my.cnf
# 测试是否可以导出
mysqldump aigpt > aigpt.sql编写脚本
vim /root/mysql_backup.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22#!/bin/bash
# 定义数据库名和桶名称的变量
database_name="aigpt"
bucket_name="mysql-back-xxxxxxxx"
current_date=$(date_'+%Y%m%d')
file_name="${database_name}.sql"
# 切换到/root/目录
cd /root/
# 导出数据库到SQL文件
mysqldump $database_name > $file_name
# 压缩SQL文件
tar -czf $file_name.tar.gz $file_name
# 上传压缩后的文件到COS桶
coscli cp $file_name.tar.gz cos://$bucket_name/back/$current_date/$file_name.tar.gz
# 删除临时文件
rm -f $file_name.tar.gz $file_name设置定时
chmod a+x /root/mysql_backup.sh
给脚本添加运行权限运行
crontab -e
设置备份脚本每天运行一次:0 0 \* \* \* sh /root/mysqli_backup.sh > /dev/null 2>$1 &
设置生命周期 减少存储空间
设置“基础配置/生命周期”中,设置备份过期时间。(这里设置,30天后,前缀为back的文件将会自动删除)
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Pandolar's Blog!
评论