本文主要介绍使用mysqldump和xtrabackup两种工具,对MySQL数据库进行数据的备份迁移过程。

  1. 首先对两个工作做一个比较说明,如下图:
    在这里插入图片描述

XTraBackup安装

根据使用的MySQL版本去官网下载对应的安装包,(此处本人使用的MySQL5.7.20版本,下载xtrabackup-2.4.20)

curl https://codeload.github.com/percona/percona-xtrabackup/tar.gz/percona-xtrabackup-2.4.20 -o percona-xtrabackup-2.4.20.tar.gz
  1. 检查系统是否已经安装相关依赖包
rpm -q --qf '%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n' \
cmake gcc gcc-c++ libaio libaio-devel automake autoconf bzr \
bison libtool ncurses-devel zlib-devel libgcrypt-devel \
perl-DBIx-Simple.noarch perl-DBD-MySQL.x86_64 perl-Digest-MD5
  1. 安装依赖包
yum -y install cmake gcc gcc-c++ libaio libaio-devel automake sutoconf bison libtool ncurses-devel libgcrypt-devel libev-devel libcurl-devel vim-common perl-Digest-MD5
  1. 预编译(VMware虚拟机CentOS,安装时最好增大内存,防止编译失败)
cmake -DBUILD_CONFIG=xtrabackup_release -DWITH_MAN_PAGES=OFF -DWITH_BOOST=/usr/local/boost_1_59_0 && make -j4
  1. 默认安装到/usr/local/xtrabackup目录
make install
  1. 环境配置
    修改root用户根目录下的.bash_profile文件,PATH加入xtrabackup的bin目录
PATH=$PATH:$HOME/bin:/usr/local/mysql/bin:/usr/local/xtrabackup/bin
export PATH

保存修改后source .bash_profile使之立马生效

  1. 验证安装成功
    终端输入xtrabackup --version,显示如下输出信息,表示xtrabackup安装成功!
xtrabackup: recognized server arguments: --server-id=1 --log_bin=/usr/local/mysql/logs/logbin.log --datadir=/usr/local/mysql/data --tmpdir=/tmp 
xtrabackup version 2.4.20 based on MySQL server 5.7.26 Linux (x86_64) (revision id: )

接下来,使用innobackup实操备份数据

MySQL创建用于本地备份的用户

DROP USER SYNC120@localhost
CREATE USER sync120@localhost IDENTIFIED BY 'sync';
REVOKE ALL PRIVILEGES,GRANT OPTION FROM sync120@localhost;
GRANT RELOAD,LOCK TABLES,REPLICATION CLIENT,PROCESS,REPLICATION SLAVE,SUPER ON *.* TO sync120@localhost IDENTIFIED BY 'sync';
FLUSH PRIVILEGES;

1. 全量备份

innobackup --user=employee|-uemployee --password=employee|-pemployee --host=127.0.0.1 --no-timestamp backup/
--user | -u (指定备份账号名)
--password | -p (指定备份账号密码)
--host (指定主机)
--no-timestamp (不按时间戳在指定的backup/保存路径下生成目录保存备份文件)
backup/ (指定备份数据的保存路径)

如果要针对特定数据库进行备份,或者对备份后的数据进行压缩,可以使用如下参数:

innobackup --user=employee|-uemployee --password=employee|-pemployee --host=127.0.0.1 --no-timestamp --databases="mysql sys employee" --stream=tar . | gzip - > backup.tar.gz
--databases="mysql sys employee" (指定备份数据库)
--stream=tar ./ | gzip - > backup.tar.gz (压缩备份数据)

2.增量备份

(待补充。。。)

mysqldump备份

全量备份

mysqldump -uemployee -pemployee employees > ~/backup_employee.sql

指定备份数据库同时进行备份数据压缩

mysqldump -uemployee -pemployee -B|--databases employees|other database | gzip > ~/backup_employee.tar.gz

增量备份

(待补充。。。)

参考引用出处:相关CSDN博客

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐