mysql数据库的备份

2019-02-13  本文已影响0人  两岁大

完全整个备份

  1. 数据库的备份xtrabackup
xtrabackup --backup --user=管理员--password=数据库密码 --target-dir=所要备份的路径
  1. 恢复数据的准备工作
xtrabackup --prepare --target-dir=备份的路径

以上操作是为了确保数据的完整

  1. 停止数据库
shell> systemctl stop mysqld
  1. 清空原数据库
shell> rm -rf /var/lib/mysql/*
  1. 修改权限将我们备份出来的文件拷贝到当前主机并且将它的属主和属组更改成为mysql
shell> scp 目标主机下的备份文件 当前主机的路径
shell> chown mysql.mysql /拷过来备份的文件
  1. 重启数据库
shell> systemctl restart mysqld

7.将备份过来的文件导入到当前主机的数据库中

shell> xtrabackup --copy-back --datadir=/var/lib/mysql --target-dir=备份路径

增量备份

  1. 增量备份是在整体备份的基础上继续进行的首先进行完全备份
shell> xtrabackup --backup --user=root --password=123 --target-dir=备份路径
  1. 在数据库中添加数据
  2. 继续备份
shell> xtrabackup --backup --user=root --password=123 --target-dir=备份路径(和上一次备份存在同一目录下名字不同) --incremental-basedir=路径
  1. 增量备份数据的恢复
    在恢复的过程中使用--apply-log-only来保证数据恢复过程中不会出现重复
    1)先恢复整体
shell> xtrabackup --prepare --apply-log-only target-dir=备份路径

2 )第一次增量备份

shell> xtrabackup --prepare --apply-log-only --target-dir=整体备份路径 --incerement-dir=第一次增量备份的路径

3 )第二次数据恢复
最后一次数据恢复准备要去掉--apply-log-only

shell>xtrabackup --prepare --target-dir=整体备份路径 --incerement-dir=第二次增量备份的路径
  1. 停止 MySQL 服务,并删除数据目录和日志
shell> systemctl stop mysqld
shell> rm -rf /var/lib/mysql/*
  1. 将备份的数据导入数据库
shell> xtrabackup --copy-back --datadir=/var/lib/mysql --target-dir=整体备份的路径
  1. 更改数据库目录的权限并启动数据库
shell> chown mysql.mysql -R /var/lib/mysql
shell> systemctl start mysqld
上一篇 下一篇

猜你喜欢

热点阅读