Mysql备份文件异地存储到Minio-Dump文件

Mysql备份文件异地存储到Minio-Dump文件

mysql目前备份在本机,因有要求,现申请了一台服务器做异地备份,有想过使用scp、ftp等方案,因需求单一、存储服务器操作系统未确定等原因,最终选择了minio做存储备份方案。放弃其他两种方案的原因,scp有操作系统限制,ftp安装配置麻烦。可以根据实际情况来决定。

一、工具介绍

Minio 是一个对象存储服务。非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,从几kb到最大5T不等。

Minio支持Windows、Linux、FreeBSD等系统。

Minio通过纠删码和位衰减技术来保护数据

mc为minio的客户端,支持Windows、Linux、FreeBSD等系统。

二、部署存储服务器

存储备份服务器使用CentOS7操作系统、1颗2603V4 六核1.7G 500W铂金单电 32G内存 2TB 7.2K SAS硬盘*4块,这里有考虑过使用minio自带纠删码的技术做数据保护、因服务器带有raid卡,综合考虑磁盘容量和成本,使用了raild5技术。如果使用minio纠删码技术,磁盘最少4块,最大不超过16块。minio纠删码技术的磁盘实际使用量为磁盘总量的一半,但是丢失一半数量(N/2)的硬盘,,您仍然可以恢复数据。Minio纠删码是作用在对象级别,可以一次恢复一个对象,而RAID是作用在卷级别,数据恢复时间很长。 Minio对每个对象单独编码,存储服务一经部署,通常情况下是不需要更换硬盘或者修复。Minio纠删码的设计目标是为了性能和尽可能的使用硬件加速。如果想使用minio纠删码技术,可以提疑问。如果你想利用其他已有服务器,保证磁盘足够也可以,minio对cpu,内存占用很少。

1,安装minio服务

wget https://dl.minio.io/server/minio/release/linux-amd64/minio

chmod +x minio

创建/data目录,用来作为minio的存储目录

mkdir /data

启动minio服务

./minio server /data

如果要后台运行,可以使用下面命令

nohup minio server /data &

会生成nohup.out文件,里面包含accesskey和secretkey

服务器防火墙需要打开9000端口,因为minio服务使用该端口。当然,如果该端口被占用,也可以自定义其他端口。

三、在mysql服务器上部署mc(minio客户端)

mysql服务器使用centos7操作系统

安装mc

wget https://dl.minio.io/client/mc/release/linux-amd64/mc

chmod +x mc

添加minio服务器

mc config host add myminio http://你的IP:9000 accesskey sercetkey

myminio是别名,你可以改成你想要的名字

创建mysql备份桶,这个也可以理解为仓库中的房间。

mc mb myminio/mysql-backup

查看mysql备份桶是否成功

mc ls myminio

也可以通过web界面来查看

访问地址:http://IP:9000输入accesskey和secretkey即可。

在mysql服务器上执行备份,并复制到异地备份服务器上。

假如先备份数据库test,备份到mysql-backup文件夹,文件名称为test.dmp

mysqldump test > mysql-backup/test.dmp

使用mc来复制备份的test.dmp

mc cp mysql-backup/test.dmp myminio/mysql-backup

验证是否成功!

mc ls myminio/mysql-backup

说明:推荐在内网使用,使用公网要做好安全防护。

推荐阅读