首页 > 数据库 > 【MySQL 8.0】增量备份与恢复验证

【MySQL 8.0】增量备份与恢复验证

时间:2023-08-25 13:00:44浏览次数:40  
标签:8.0 -- 备份 MySQL xtrabackup mysql home backup dir

[mysql@node01 ~]$ xtrabackup --user=xtrabackup --password=xtrabackup --backup --target-dir=/home/mysql/backup/base 

[mysql@node01 ~]$ ./tpcc-mysql/tpcc_start -h 192.168.1.101 -P 3306 -d tpcc10 -u tpcc -p tpcc -w 10 -c 10 -l 120

[mysql@node01 ~]$ xtrabackup --user=xtrabackup --password=xtrabackup --backup --incremental-basedir=/home/mysql/backup/base --target-dir=/home/mysql/backup/incr1

[mysql@node01 ~]$ ./tpcc-mysql/tpcc_start -h 192.168.1.101 -P 3306 -d tpcc10 -u tpcc -p tpcc -w 10 -c 10 -l 120

[mysql@node01 ~]$ xtrabackup --user=xtrabackup --password=xtrabackup --backup --incremental-basedir=/home/mysql/backup/incr1 --target-dir=/home/mysql/backup/incr2 

[mysql@node01 ~]$ scp -r backup/* node02:/home/mysql/backup/
[mysql@node02 ~]$ xtrabackup --prepare --apply-log-only --target-dir=/home/mysql/backup/base 
[mysql@node02 ~]$ xtrabackup --prepare --apply-log-only --target-dir=/home/mysql/backup/base --incremental-dir=/home/mysql/backup/incr1 
[mysql@node02 ~]$ xtrabackup --prepare --target-dir=/home/mysql/backup/base --incremental-dir=/home/mysql/backup/incr2 
[mysql@node02 ~]$ xtrabackup --copy-back --target-dir=/home/mysql/backup/base

[mysql@node02 ~]$ /etc/init.d/mysql.server start
[mysql@node02 ~]$ /etc/init.d/mysql.server status


[mysql@node02 ~]$ cat backup/incr2/xtrabackup_binlog_info
mysql-bin.000019        349566  

[mysql@node02 ~]$ cd binlog
[mysql@node02 binlog]$ mysqlbinlog --start-position=349566 mysql-bin.000019 | mysql -uroot -pabcd.1234
Page Tracking
(root@node01) > install component "file://component_mysqlbackup";
Query OK, 0 rows affected (0.59 sec)

(root@node01) > select count(*) from mysql.component where component_urn='file://component_mysqlbackup';
+----------+
| count(*) |
+----------+
|        1 |
+----------+
1 row in set (0.00 sec)

(root@node01) > grant system_variables_admin on *.* to xtrabackup@'localhost'; 
Query OK, 0 rows affected (0.35 sec)

[mysql@node01 ~]$ xtrabackup --user=xtrabackup --password=xtrabackup --backup --target-dir=/home/mysql/backup/base --page-tracking

[mysql@node01 ~]$ ./tpcc-mysql/tpcc_start -h 192.168.1.101 -P 3306 -d tpcc10 -u tpcc -p tpcc -w 10 -c 10 -l 120

[mysql@node01 ~]$ xtrabackup --user=xtrabackup --password=xtrabackup --backup --incremental-basedir=/home/mysql/backup/base --target-dir=/home/mysql/backup/incr1 --page-tracking

[mysql@node01 ~]$ ./tpcc-mysql/tpcc_start -h 192.168.1.101 -P 3306 -d tpcc10 -u tpcc -p tpcc -w 10 -c 10 -l 120

[mysql@node01 ~]$ xtrabackup --user=xtrabackup --password=xtrabackup --backup --incremental-basedir=/home/mysql/backup/incr1 --target-dir=/home/mysql/backup/incr2 --page-tracking
[mysql@node01 ~]$ vim full_backup.sh 
#!/bin/bash
user='xtrabackup'
passwd='xtrabackup'
backup_dir='/home/mysql/backup/base'
/usr/bin/xtrabackup --backup --user=$user --password=$passwd --target-dir=$backup_dir/`date '+%Y-%m-%d_%H-%M-%S'`

[mysql@node01 ~]$ vi incr_backup.sh 
#!/bin/bash  
user='xtrabackup'
passwd='xtrabackup'
backup_dir='/home/mysql/backup'
last_day=$(date -d "1 days ago" +%Y-%m-%d)
filename=$(find $backup_dir -name "$last_day*" -print|awk -F / '{print $NF}')
/usr/bin/xtrabackup --backup --user=$user --password=$passwd --incremental-basedir=$backup_dir/$filename 
--target-dir=$backup_dir/`date '+%Y-%m-%d_%H-%M-%S'`

[mysql@node01 ~]$ chmod a+x *.sh  
[mysql@wallet01 ~]$ crontab -e
00 2 * * 0 /home/mysql/full_backup.sh>/home/mysql/backup/full_backup.log 2>&1
00 2 * * 1-6 /home/mysql/incr_backup.sh>/home/mysql/backup/incr_backup.log 2>&1

标签:8.0,--,备份,MySQL,xtrabackup,mysql,home,backup,dir
From: https://blog.51cto.com/dbprofessional/7229436

相关文章

  • 主从升级(mysql5.7.39-mysql8.0.25)
    环境:OS:Centos7当前数据库版本:5.7.39(主从目前启用了审计server_audit.so,master_auto_position=1)计划升级的数据库版本:8.0.28升级顺序:先升级从库########################从库机器上的操作######################1.从库机器上安装好新版本的mysql注意端口和socket不能与......
  • centos定时备份mysql数据库 用shell脚本实现
    数据很重要,上线的项目必须数据库做到定时备份数据量小的可用如下方法,下面的是全量备份,数据量大的肯定行不通的,这时可用mysql主从复制了注意事项:1、shell脚本的mysqldump命令必须使用绝对路径,首先用find/-name'mysqldump'找到真实绝对路径,否则备份出来文件0kb 2、在终端用......
  • sql server和mysql常用字段类型对比
    都有的数据类型BIGINTCHARDATETIMEDECIMALFLOATINT,INTEGERSMALLINTTEXTTIMESTAMPTINYINTVARCHAR需要做修改的数据类型关键代码修改:......
  • 【MySQL 8.0】在 CentOS 7.5 安装 MySQL 8.0
    [root@node01~]#cat>>/etc/hosts<<EOF192.168.1.101node01EOF[root@node01~]#useraddmysql[root@node01~]#echomysql|passwd--stdinmysqlChangingpasswordforusermysql.passwd:allauthenticationtokensupdatedsuccessfully.......
  • CentOS7.9搭建开发环境(Java、MySQL、Nginx、Redis)
    系统使用的阿里云CentOS7.964位SCC版。先安装个文件上传下载工具lrzsz,xshell登录终端,运行下面的命令:yuminstall-ylszrz 这是因为yum源的问题,需要修改yum配置。执行以下命令:cd/etc/yum.repos.dmvCentOS-Base.repoCentOS-Base.repo.backupwgethttp://mirrors.......
  • 手把手教你Linux CentOS 8 安装MySQL 8
     安装步骤我所使用的Linux版本是CentOS8,在CentOS8上安装MySQL的步骤:启用MySQL8.0存储库首先,您需要启用MySQL8.0存储库。为此,请下载和安装MySQL的存储库包:sudodnfinstallhttps://dev.mysql.com/get/mysql80-community-release-el8-1.noarch.rpm安装MyS......
  • mysql索引的详解和慢查询优化
    什么是索引?索引是一种特殊的数据结构,由数据表中的一列或多列组合而成 建立索引的目的是什么?索引的目的在于提高查询效率,可以类比字典,如果要查“mysql”这个单词,我们肯定需要定位到m字母,然后从下往下找到y字母,再找到剩下的sql。如果没有索引,那么你可能需要把所有单词看一遍才......
  • destoon8.0自媒体类型综合资讯门户模板
     随着时代发展,自媒体资讯适合当前的互联网情形。呕心沥血开发的一套自媒体综合门户网站模板,本模板采用纯手写开发,带会员中心。首页,列表页,内容页,搜索页面精心编写,非常大气,并配移动端。注意:模板目前只用了资讯模块,会员模块,其他模块都禁用了。特色:1、非常适合做资讯门户站。2、首页,......
  • ubuntu18.04安装g2o
    先对g2o的依赖库进行安装:sudoapt-getupdatesudoapt-getinstalllibeigen3-devsudoapt-getinstalllibsuitesparse-devsudoapt-getinstallqtdeclarative5-devsudoapt-getinstallqt5-qmakesudoapt-getinstalllibqglviewer-dev-qt5然后下载g2o(2020那个版本)......
  • MySQL基础笔记
    MySQLDDL:操作数据库和表DML:对数据进行增删改DQL:对数据进行查询DCL:对数据库进行权限管理数据库增删改查createdatabaseifnotexistsdb1;#如果数据库不存在才创建dropdatabaseifexistsdb1;#如果数据库存在才删除usedb1;#使用数据库selectDATABASE();#......