美文网首页
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