Mysql数据备份与恢复( 五 )

xtrabackup 全量备份xtrabackup--host=localhost --user=xtrabackup --password=Mysql@12345678 --backup--target-dir=/opt/test22/backup全量数据恢复# 先停止数据库systemctl stop mysqld# 恢复数据执行的准备xtrabackup--host=localhost --user=xtrabackup --password=Mysql@12345678 --prepare--target-dir=/opt/test22/backup# 备份数据库文件,并删除数据库数据目录下的文件cp -r /var/lib/mysql{,"$(date '+%Y-%m-%d %H:%M:%S')"_bak} && rm -fr /var/lib/mysql/*# 恢复数据xtrabackup--host=localhost --user=xtrabackup --password=Mysql@12345678 --copy-back --target-dir=/opt/test22/backup# 查看 /var/lib/mysql 目录下所有文件的所属人,需要改成 mysqld 运行的用户chown -R mysql:mysql /var/lib/mysql# 启动 mysql 数据库systemctl start mysqld增量备份在全量备份的基础上,增量备份 。
增量备份# 创建全量备份在那个目录下mkdir -p /opt/xtrabackup_mysql/full_data_dir# 全量基础之后的增量数据一次mkdir -p /opt/xtrabackup_mysql/increment_data_dir# 在上一次增量备份的基础上在增量备份一次mkdir -p /opt/xtrabackup_mysql/increment_data_dir_2# 全量备份xtrabackup --defaults-file=/etc/my.cnf--host=localhost --user=xtrabackup --password=Mysql@12345678 --backup --parallel=3--target-dir=/opt/xtrabackup_mysql/full_data_dir# 全量备份之后,操作数据 。# 做增量备份xtrabackup --defaults-file=/etc/my.cnf --host=localhost --user=xtrabackup --password=Mysql@12345678 --backup --parallel=3--target-dir=/opt/xtrabackup_mysql/increment_data_dir --incremental-basedir=/opt/xtrabackup_mysql/full_data_dir# 操作了数据之后,在上一次增量备份基础上做第二次增量备份xtrabackup --defaults-file=/etc/my.cnf --host=localhost --user=xtrabackup --password=Mysql@12345678 --backup --parallel=3--target-dir=/opt/xtrabackup_mysql/increment_data_dir_2 --incremental-basedir=/opt/xtrabackup_mysql/increment_data_dir增量备份数据恢复【Mysql数据备份与恢复】# 停止数据库systemctl stop mysqld# 准备全备份日志数据xtrabackup --defaults-file=/etc/my.cnf --prepare --apply-log-only --target-dir=/opt/xtrabackup_mysql/full_data_dir# 合并第一次增量备份数据到全量中,注意路径别写错了xtrabackup --defaults-file=/etc/my.cnf --prepare --apply-log-only --target-dir=/opt/xtrabackup_mysql/full_data_dir--incremental-dir=/opt/xtrabackup_mysql/increment_data_dir# 合并第二次增量备份数据到全量中,注意路径 。最后一次不需要添加 --apply-log-onlyxtrabackup --defaults-file=/etc/my.cnf --prepare--target-dir=/opt/xtrabackup_mysql/full_data_dir--incremental-dir=/opt/xtrabackup_mysql/increment_data_dir_2# 将原来数据库备份cp -r /var/lib/mysql{,"$(date '+%Y-%m-%d %H:%M:%S')"_bak} && rm -fr /var/lib/mysql/*-- 拷回数据xtrabackup --defaults-file=/etc/my.cnf --copy-back --target-dir=/opt/xtrabackup_mysql/full_data_dir# 修改mysql 数据文件的权限为 mysqlchown -R mysql:mysql /var/lib/mysql# 启动数据库systemctl start mysqld


推荐阅读