MySQL 8.0.11 innodb cluster运维管理中如何进行备份
admin
2023-04-26 16:03:18
0

MySQL 8.0.11 innodb cluster 运维管理-msyqlbackup备份

Mysqlbackup 介绍

mysqlbackup是一个热备份工具、也就是说它不像mysqldump那样给表上一个全局锁,由于mysqldump上了这个锁,所以就造成客户端只能对数据库进行读操作不能写,这也就是称mysqldump为温备份的原因。但是mysqlbackup真的有这么吊吗?答案是并没有。对于innodb引擎的表mysqlbackup 热备的;但是对于非innodb表mysqlbackup就只能温备了,原因是这类引擎不支持事务也就是说不能通过事务日志来保证备份的一致性,所以就只能给表加上一个全局锁来解决了。为了得到一致的备份mysqlbackup要不停的去追踪mysql数据库的sln号,也就是说mysqlbackup要执行备份那么它一定要连接上数据库。mysqlbackup对数据库的备份是通过复制文件的方式进行的,也就是说mysqlbackup要和数据库在同一台机器上,和xtrabackup 很相似的。

安装 mysqlbackup

Mysqlbackup 是企业版mysql中的,但可以拿来使用,登录oracle云下载,搜索mysql backup,下载二进制文件
mysql-commercial-backup-8.0.11-linux-glibc2.12-x86_64.tar.gz
传到主机上并解压,
会有 bin  和lib 文件夹,将其中的文件拷贝到 /usr/local/mysql 对应的目录中, 这里要把 软连接,库全部拷贝的,不然会报错

备份用户

(官方指导命令)

CREATE USER 'backup'@'localhost' IDENTIFIED BY '$$$$$$$$$$$$$$';
GRANT RELOAD ON *.* TO 'backup'@'localhost';
GRANT CREATE, INSERT, DROP, UPDATE ON mysql.backup_progress TO 'backup'@'localhost';
GRANT CREATE, INSERT, SELECT, DROP, UPDATE ON mysql.backup_history TO 'backup'@'localhost';
GRANT REPLICATION CLIENT ON *.* TO 'backup'@'localhost';
GRANT SUPER ON *.* TO 'backup'@'localhost';
GRANT PROCESS ON *.* TO 'backup'@'localhost';
GRANT ALTER ON mysql.backup_history TO 'backup'@'localhost';  #此表在主库上备份才会生成和写入
GRANT LOCK TABLES, SELECT, CREATE, DROP, FILE ON *.* TO 'backup'@'localhost';
GRANT CREATE, INSERT, DROP, UPDATE ON mysql.backup_sbt_history TO 'backup'@'localhost';#此表仅在主库上有效

全量备份

##备份到/fullbak/2018-10-10_19-19-11/datadir 类似这样的目录中
mysqlbackup --backup-dir=/data/backup/fullbak --host=127.0.0.1 --port=3306 --user=backup --password=$$$$$$$$ --with-timestamp backup
##############备份到/fullbak/2018-10-10_19-19-11/full_backup.bki 这样一个单文件中,以后不用备份单文件,我们自己压缩备份更小
mysqlbackup --backup-dir=/data/backup/fullbak --host=127.0.0.1 --port=3306 --user=backup --password=$$$$$$$$$$$ --backup-image=full_backup.bki  --with-timestamp backup-to-image

    --user:用户名。
    --password:密码。
    --port:端口,默认值为3306。
    --backup-dir:可以看成是mysqlback的工作目录,临时用的。
    --backup-image:备份文件名,这个是最终要的文件,别的都可以不要。位置可以不带路径,默认放到 backup-dir
    backup-to-image:把所有的备份信息输出到一个备份文件当中
--with-timepstap: 会自动生成一个带日期文件夹,这里放的是备份时用的临时文件和最后的备份镜像(不指定镜像位置的化)

增量备份

实际证明,单文件备份是无法进行恢复的,下面这个例子放弃
mysqlbackup --backup-dir=/data/backup --host=127.0.0.1 --port=3306 --user=backup --password=Qs3ce3saadr37tpP --incremental-with-redo-log-only --incremental-base=history:last_backup --with-timestamp   --backup-image=incre_backup.bki backup-to-image

不备份成单个文件,增量备份貌似也不支持,这个是可以进行恢复的 指定了备份到的增量目录和增量的基源

mysqlbackup --incremental-backup-dir=/data/backup/increbak --host=127.0.0.1 --port=3306 --user=backup --password=Qs3ce3saadr37tpP --incremental  --incremental-base=history:last_backup --with-timestamp   --backup-image=incre_backup.bki backup

一定要先执行上面的全备, last_backup 这个备份参数会在数据库中找,然而,这个备份要在主库进行,不能再从库,因为从库不写备份信息。

跨主机远程备份

#########备份到其他服务器
The following command streams the backup as a single-file output to a remote host to be saved under
the file name my_backup.img (--backup-dir=/tmp designates the directory for storing temporary files
rather than the final output file):

mysqlbackup --defaults-file=~/my_backup.cnf --backup-image=- --backup-dir=/tmp backup-to-image | \
ssh @ 'cat > ~/backups/my_backup.img'

相关内容

热门资讯

烈焰熊熊,堪比“原子弹”,欧洲... 据美国有线电视新闻网(CNN)7月29日报道,席卷法国西南部的大片野火燃烧得如此猛烈,以至于形成了一...
外交部:对日本熊本县地震遇难者... 据凤凰卫视报道,针对日本熊本县发生强震造成人员伤亡,中国外交部发言人毛宁7月29日在例行记者会上表示...
高铁喧哗被劝阻后叫嚣全家体制内... “女子高铁喧哗被劝阻后叫嚣全家体制内”一事迎来官方通报。据新京报报道,7月29日,辽宁北票市公安局发...
广东专业蓝牙耳机定制厂家推荐,... 在珠三角腹地,广东早已成为全球蓝牙耳机产业链的“心脏地带”。从深圳华强北的声学元件批发,到东莞、惠州...
格雷厄姆葬礼变地缘竞价场!两大... 有些葬礼,送别的是逝者;有些葬礼,演的却是活人最现实的政治博弈。当地时间7月28日,美国老牌鹰派参议...
一道小学数学题难住3名医学博士... 3名不同学校的博士同做一道数学题,谁最厉害?近日,一陕西网友发布的视频引发热议。29日,视频发布者“...
华为全新“小艺任务”亮相:整合... 7月29日,在华为鸿蒙电脑新品技术沟通会上,终端云服务小艺业务部总裁贾永利宣布,小艺将迎来“从对话到...
广西日报特稿《王的猜想》火了,... 澎湃新闻记者 蒋子文 实习生 汤煜炜为应对外界购买纸质版特稿《王的猜想》的热情,《广西日报》宣布紧急...
月租20元内!2026年平价云... 不少手游玩家、账号运营从业者挑选云手机时,首要诉求就是低价够用,想要控制每月支出在20元以内,同时兼...
诺奖得主如何看待王虹境遇?“我... 中村修二(2014年诺贝尔物理学奖得主)【导读】近日王虹与邓煜双双获得2026年菲尔兹奖,成为了首批...