使用mydumper 对中大型mysql数据库备份
最近需要备份一个库,1.1T,最大的表45G,使用常用的mysqldumper 备份的时候,调整各种mysql参数配置都一直报Lost connection
mysqldump --databases edm -hlocalhost --triggers --routines --events -P3306 -u*********
-p********* --quick --max_allowed_packet=512M --skip-lock-tables |gzip >ems_edm2024-2-23.tar.gz mysqldump: Error 2013: Lost connection to MySQL server during query when dumping table aws_ses_sent_log at row: 32691507
于是问了之前做大数据DBA的同事说可以用 mydumper 来备份
安装命令如下(linux centos系统)
yum install -y cmake gcc gcc-c++ git make yum install -y glib2-devel mysql-devel openssl-devel pcre-devel zlib-devel
yum install https://github.com/maxbube/mydumper/releases/download/v0.10.3/mydumper-0.10.3-1.el7.x86_64.rpm
使用
mydumper -u admin -p yh3yZ -t 4 -o /data/mydumper/dress_db_test -B dress_db --no-locks
其中admin 为用户名 , yh3yZ 密码 ,-t 4 表示使用4个进程,/data/mydumper/dress_db_test 是要备份到的目录 ,dress_db 是需要备份的db
还原
myloader -u admin -p yhyZ -P 3306 -t 4 -B rgothic -d /data/mydumper/dresslily_db_test
/data/mydumper/dresslily_db_test 是备份文件的目录,rgothic 是要还原到的数据库
题外:上传到aws s3
1、安装 aws-cli
aws s3 cp /tmp/backup.sql.gz s3://glomysqlbackup/edm/
3.上传备份文件到 S3
aws s3 rm s3://glomysqlbackup/edm/ --recursive