美文网首页
mysqlbackup使用

mysqlbackup使用

作者: 吃铝的二月鸟 | 来源:发表于2020-10-13 10:04 被阅读0次

安装mysqlbackup

(从各种渠道获得mysqlbackup后)

mysqlbackup是二进制文件,可直接使用

首先将mysqlbackup加入到系统环境中,

cd /usr/bin

ln -s /home/meb-4.0.3/bin/mysqlbackup   #(这里是你的mysqlbackup的bin目录文件位置)

vim /etc/profile

(在这文件中添加)

PATH=/home/meb-4.0.3/bin/:$PATH

export PATH

输入以上信息

source /etc/profile

这时mysqlbackup已经可以在任意目录下使用了

完整备份

mysqlbackup --defaults-file=/etc/mysql/mysql.conf.d/mysqld.cnf --socket=/...... --with-timestamp --user=用户 --password=密码 --backup-dir=/var/lib/backup backup-and-apply-log

--defaults-file mysql配置文件目录

--socket socket目录 (默认不用输入,如果使用的时候报错在/……未找到socket,通过find命令来查找mysqld.sock文件,在通过软连接ln将两个目录打通)

--with-timestamp 以时间来生成文件名

--user 用户

--password 密码

--backup-dir 备份文件目录

backup-and-apply-log 备份并检查日志文件

恢复完整备份

service mysql stop

mysqlbackup --defaults-file=/etc/mysql.conf.d/mysqld.cnf --datadir=/var/lib/mysql --backup-dir=/var/lib/backup/备份目录 copy-back

--datadir 当前数据库相应的数据文件所在位置

--backup-dir 当前备份目录

copy-back 把back-dir复制到datadir中

在恢复时报错未找到innodb配置,两种方法解决,第一种在mysqld.cnf添加innodb的配置文件,具体配置在备份文件backup-my.cnf中,第二种方法直接将 --defaults-file指定到备份文件的backup-my.cnf目录

在还原后,修改mysql这个目录和mysql里面的文件内容都把权限修改成mysql,否mysql无法启动

增量备份

注:不能用apply-log的完整备份

1.mysqlbackup --defaults-file=/etc/mysql/mysql.conf.d/mysqld.cnf --socket=/...... --with-timestamp --user=用户 --password=密码 --backup-dir=/var/lib/backup backup

第一次增量备份

2.mysqlbackup --defaults-file=/etc/mysql/mysql.conf.d/mysqld.cnf --user= --password --with-timestamp  --incremental --incremental-base=dir:/var/lib/backup/2020_11_03_09_23_32/ --incremental-backup-dir=/var/lib/backup/inc/ backup

--incremental 表示增量备份

--incremental-base 基于哪个备份的备份

--incremental-backup-dir 增量备份的备份存放目录

第二次增量备份

mysqlbackup --defaults-file=/etc/mysql/mysql.conf.d/mysqld.cnf --with-timestamp --user=用户 --password --incremental --incremental-base=dir:/var/lib/backup/inc/2020_11_04_11_22_33/ --incremental-backup-dir=/var/lib/backup/inc/ backup

注:第二次incremental-base的位置是第一次增量备份的位置

恢复增量备份

//1.使用apply-log将完整备份做成最终备份

mysqlbackup --backup-dir=/var/lib/backup/2020_11_03_09_23_32/ apply-log

//2.将第一次增量备份备份完整备份中

//mysqlbackup --incremental-backup-dir=/var/lib/backup/inc/2020_11_04_11_22_33/ --backup-dir=/var/lib/backup/2020_11_03_09_23_32/ apply-incremental-backup

将第二次增量备份备份到完整备份中

mysqlbackup --incremental-backup-dir=/var/lib/backup/inc/2020-11-05_13-23-53/ --backup-dir=/var/lib/backup/2020_11_03_09_23_32/ apply-incremental-backup

最后物理还原

mysqlbackup --defaults-file=/etc/mysql/mysql.cond.d/mysqld.cnf --backup-dir=/var/lib/backup/2020_11_03_09_23_32/ copy-back

//apply-incremental-backup 每一个增量备份刷新日志

制作单文件备份

mysqlbackup --defaults-file=/etc/mysql/mysql.conf.d/mysqld.cnf --socket=/…… --user= --password=  --with-timestamp --backup-dir=/var/lib/backup/ --backup-image=backup1.mbi backup-to-image

--backup-image 设置备份镜像的镜像名

backup-to-image 单文件备份

单文件还原

mysqlbackup --defaults-file=/var/lib/mysql.conf.d/mysqld.cnf  --backup-image=/backup/date/backup.mbi image-to-backup-dir    (将单文件备份转换成通常文件形式)

单文件的增量备份同普通增量备份

单文件增量备份还原

mysqlbackup --backup-dir=/var/lib/backup/ --backup-image=/var/lib/backup/img/date/backup1.mbi image-to-backup-dir 将image文件转换成普通备份文件

mysqlbackup --backup-dir=/var/lib/backup/img/date apply-log

mysqlbackup --backup-dir=/var/lib/backup/img/date --incremental-backup-dir=/var/lib/backup/inc/date1 apply-incremental-backup

mysqlbackup --backup-dir=/var/lib/backup/img/date --incremental-backup-dir=/var/lib/backup/inc/date2 apply-incremental-backup

mysqlbackup --defaults-file=/etc/mysql/mysql.conf.d/mysqld.cnf --backup-dir=/var/lib/backup/img/date copy-back-and-apply-log

查看单文件备份

mysqlbackup --backup-image=/var/lib/backup/img/backup1.mbi list-image

提取单文件备份(1 or 2)

1.使用image-to-backup-dir提取备份文件(不能选择目录??)

mysqlbackup --backup-image=/var/lib/backup/img/backup1.mbi --backup1.mbi --backup-dir=/var/lib/backup image-to-backup-dir

or

2.使用extract将备份文件在指定目录中解开

mysqlbackup --backup-image=/var/lib/backup/img/backup1.mbi --backup-dir=/var/lib/backup/unpack/ extract

提取单文件备份中的指定文件

使用 --src-entry提取备份文件中的指定文件

mysqlbackup --backup-image=/var/lib/backup/img/imgtest1.mbi --src-entry=meta/image_files.xml extract

--src-entry    是提取--backup-image中的imgtest1.mb1的文件

使用--dst-entry可以将指定文件解开至指定目录

mysqlbackup --backup-image=/var/lib/backup/img/backup1.mbi --src-entry=meta/image_files.xml --dst-entry=/var/lib/backup/unpack/myimage_files.xml extract

--dst-entry 将src-entry文件提取出来




参数:--defaults-file=    mysql配置文件参数

--socket    mysql的套接字接口

--with-timestamp    一创建以时间命名的子目录(时间戳)

--backup-dir    备份文件保存位置

backup-and-apply-log    备份和同步日志一起执行

--datadir    当前数据库文件所在位置

--uncompress 在操作期间解压缩备份

--start-lsn 指定上一个备份中包含的最高lsn值

--src-entry 标识要从单个文件备份中提取的文件或目标

--slave-info 捕获设置相同副本服务器所需的信息

--rename 在要还原的 --include表选项选择单个表时重命名该表

--port 要连接到TCP端口号

--incremental-bakcup-dir    指定增量备份的位置

--incremental-base    基于哪个备份的备份

--incremental     指定关联的备份或备份操作时增量备份

--encrypt-password    加密密码,用户提供的密码

--force 强制写入

--skip-binlog    在备份期间不包含二进制日志文件,或在还原期间不还原二进制日志文件

--skip-unused-pages    备份innodb表时,跳过表空间中未使用的页面

--show-progress    显示进度

--compress-level    压缩(level从1到9)

--uncompress    解压

--only-innodb 只备份innodb相应的数据表文件

--list-image 查看单文件备份

image-to-backup-dir 恢复单文件

extract    从单个文件备份中解包单个文件或目录。它可用于故障排除或不需要完整备份数据的恢复。生成的文件或目录进入当前目录,或进入备份目录,如果使用--backup-dir 指定;在这两种情况下,目标目录都必须为空。

相关文章

网友评论

      本文标题:mysqlbackup使用

      本文链接:https://www.haomeiwen.com/subject/guampktx.html