我的编程空间,编程开发者的网络收藏夹
学习永远不晚

数据库的备份与还原系列——全备份+两增量的备份与还原

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

数据库的备份与还原系列——全备份+两增量的备份与还原

场景:周日全备份,周一,周二增量备份,周三出现问题,数分钟后发现;

数据库的安装:
yum install mariadb-server -y
systemctl start mariadb
yum install percona-xtrabackup-24-2.4.9-1.el7.x86_64.rpm 


在10.2的高版本上默认即时innodb_file_per_table;这里的版本是5.5,暂时没开启,需要手动写到配置文件中。
[root@mysql ~]$ vim /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
innodb_file_per_table
log_bin
[root@mysql ~]$mysql < hellodb_InnoDB.sql 



全备份:
[root@mysql ~]$mkdir -pv /backups
[root@mysql ~]$ll /backups
total 0
[root@mysql ~]$innobackupex /backups/


周一数据修改后;晚上对数据进行增量备份;
MariaDB [(none)]> use hellodb;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
MariaDB [hellodb]> insert students(name,age,gender) values('a','28','F');
Query OK, 1 row affected (0.01 sec)

[root@mysql ~]$mkdir /backups/{inc1,inc2} -pv
mkdir: created directory ‘/backups/inc1’
mkdir: created directory ‘/backups/inc2’


[root@mysql ~]$innobackupex --incremental /backups/inc1/ --incremental-basedir=/backups/2018-02-25_15-21-53/
    --incremental /backups/inc1/是指这是增量备份,以及备份的位置;
    --incremental-basedir=/backups/2018-02-25_15-21-53/是指基于哪个全备份或者增量备份的增量备份;


[root@mysql ~]$ll /backups/
total 0
drwxr-x--- 6 root root 187 Feb 25 15:21 2018-02-25_15-21-53
drwxr-xr-x 3 root root  33 Feb 25 15:31 inc1
drwxr-xr-x 2 root root   6 Feb 25 15:25 inc2
[root@mysql ~]$ll /backups/inc1/
total 0
drwxr-x--- 6 root root 213 Feb 25 15:31 2018-02-25_15-31-17



周二的时候修改数据,并进行增量备份;
MariaDB [hellodb]> insert students(name,age,gender) values('b','28','F');
Query OK, 1 row affected (0.01 sec)

[root@mysql ~]$innobackupex --incremental /backups/inc2/ --incremental-basedir=/backups/inc1/2018-02-25_15-31-17/


[root@mysql ~]$du -sh /backups/
23M    /backups/



[root@mysql ~]$scp -pr /backups/ 192.168.27.17:/app/
[root@mysql17 ~]$ls /app/backups/
2018-02-25_15-21-53  inc1  inc2
[root@mysql17 ~]$


数据库的还原与数据整理操作:

备份还原:
    还原的过程中MySQL服务是不启动的;

数据预整理:
    [root@mysql17 ~]$innobackupex --apply-log --redo-only /app/backups/2018-02-25_15-21-53/

        --redo-only表示有相应的增量备份;

将第一次增量备份的数据合并到完全备份中;
[root@mysql17 ~]$innobackupex --apply-log --redo-only /app/backups/2018-02-25_15-21-53/ --incremental-dir=/app/backups/inc1/2018-02-25_15-31-17/

将第二次增量备份的数据合并到完全备份中;
[root@mysql17 ~]$innobackupex --apply-log --redo-only /app/backups/2018-02-25_15-21-53/ --incremental-dir=/app/backups/inc2/2018-02-25_15-34-00/


如果数据目录非空,那么就可以删除他;
[root@mysql17 ~]$ls /var/lib/mysql/

将整理后的数据复制到数据目录中;
[root@mysql17 ~]$innobackupex --copy-back /app/backups/2018-02-25_15-21-53/


[root@mysql17 ~]$ll /var/lib/mysql/
total 18444
drwxr-x--- 2 root root      146 Feb 25 02:48 hellodb
-rw-r----- 1 root root 18874368 Feb 25 02:48 ibdata1
drwxr-x--- 2 root root     4096 Feb 25 02:48 mysql
drwxr-x--- 2 root root     4096 Feb 25 02:48 performance_schema
drwxr-x--- 2 root root       20 Feb 25 02:48 test
-rw-r----- 1 root root      481 Feb 25 02:48 xtrabackup_info
[root@mysql17 ~]$
[root@mysql17 ~]$chown -R mysql.mysql /var/lib/mysql/
[root@mysql17 ~]$ll /var/lib/mysql/
total 18444
drwxr-x--- 2 mysql mysql      146 Feb 25 02:48 hellodb
-rw-r----- 1 mysql mysql 18874368 Feb 25 02:48 ibdata1
drwxr-x--- 2 mysql mysql     4096 Feb 25 02:48 mysql
drwxr-x--- 2 mysql mysql     4096 Feb 25 02:48 performance_schema
drwxr-x--- 2 mysql mysql       20 Feb 25 02:48 test
-rw-r----- 1 mysql mysql      481 Feb 25 02:48 xtrabackup_info
[root@mysql17 ~]$


启动数据库,核对数据库数据:

[root@mysql17 ~]$systemctl start mariadb
[root@mysql17 ~]$mysql
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 5.5.56-MariaDB MariaDB Server

Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> select * from hellodb.students;
+-------+---------------+-----+--------+---------+-----------+
| StuID | Name          | Age | Gender | ClassID | TeacherID |
+-------+---------------+-----+--------+---------+-----------+
|     1 | Shi Zhongyu   |  22 | M      |       2 |         3 |
|     2 | Shi Potian    |  22 | M      |       1 |         7 |
|     3 | Xie Yanke     |  53 | M      |       2 |        16 |
|     4 | Ding Dian     |  32 | M      |       4 |         4 |
|     5 | Yu Yutong     |  26 | M      |       3 |         1 |
|     6 | Shi Qing      |  46 | M      |       5 |      NULL |
|     7 | Xi Ren        |  19 | F      |       3 |      NULL |
|     8 | Lin Daiyu     |  17 | F      |       7 |      NULL |
|     9 | Ren Yingying  |  20 | F      |       6 |      NULL |
|    10 | Yue Lingshan  |  19 | F      |       3 |      NULL |
|    11 | Yuan Chengzhi |  23 | M      |       6 |      NULL |
|    12 | Wen Qingqing  |  19 | F      |       1 |      NULL |
|    13 | Tian Boguang  |  33 | M      |       2 |      NULL |
|    14 | Lu Wushuang   |  17 | F      |       3 |      NULL |
|    15 | Duan Yu       |  19 | M      |       4 |      NULL |
|    16 | Xu Zhu        |  21 | M      |       1 |      NULL |
|    17 | Lin Chong     |  25 | M      |       4 |      NULL |
|    18 | Hua Rong      |  23 | M      |       7 |      NULL |
|    19 | Xue Baochai   |  18 | F      |       6 |      NULL |
|    20 | Diao Chan     |  19 | F      |       7 |      NULL |
|    21 | Huang Yueying |  22 | F      |       6 |      NULL |
|    22 | Xiao Qiao     |  20 | F      |       1 |      NULL |
|    23 | Ma Chao       |  23 | M      |       4 |      NULL |
|    24 | Xu Xian       |  27 | M      |    NULL |      NULL |
|    25 | Sun Dasheng   | 100 | M      |    NULL |      NULL |
|    26 | a             |  28 | F      |    NULL |      NULL |
|    27 | b             |  28 | F      |    NULL |      NULL |
+-------+---------------+-----+--------+---------+-----------+
27 rows in set (0.01 sec)

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

数据库的备份与还原系列——全备份+两增量的备份与还原

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

PostgreSQL 数据库备份与还原

PostgreSQL 数据库备份与还原目录备份还原栗子备份PostgreSQL提供的一个工具pg_dump,逻辑导出数据,生成sql文件或其他格式文件,pg_dump是一个客户端工具,可以远程或本地导出逻辑数据,恢复数据至导出时间点。Usage:pg_dump
PostgreSQL 数据库备份与还原
2015-11-20

【数据库】数据库备份与还原 Navicat Premium备份以及定时备份设置

✨数据库备份数据库作为信息系统的核心担当着重要的角色。尤其在一些对数据可靠性要求很高的行业如银行、证券、电信等,如果发生意外停机或数据丢失其损失会十分惨重。为此数据库管理员应针对具体的业务要求制定详细的数据库备份与灾难恢复策略,并通过模拟故障对每种可能的情况进
【数据库】数据库备份与还原 Navicat Premium备份以及定时备份设置
2014-12-22

Oracle备份、还原数据库

备份数据库创建备份目录(用sys账号),若已创建备份目录,此步可忽略create directory db_bak as "D: ECIMS_DB"--查看创建的目录select * from dba_directories--删除已创建的目录drop dir
2018-09-04

达梦数据库备份还原

备份还原    1 物理备份与还原    21、脱机备份与还原(冷备)    21.1、console工具备份    21.2、console工具还原与恢复    31.3、dmrman工具备份    51.4、dmrman工具还原恢复    52、联机备份与

	达梦数据库备份还原
2016-11-14

mysql数据库备份和还原

备份MySQL数据库的命令mysqldump -hhostname -uusername -ppassword databasename > backupfile.sql 备份MySQL数据库为带删除表的格式 备份MySQL数据库为带删除表
2022-05-27

MySQL数据库完全备份与增量备份详解

目录定义完全备份与恢复演示定义完全备份就是将数据库中的数据及所有对象全部备份。由于 mysql 服务器中的数据文件是基于磁盘的文本文件,所以完全备份就是复制数据库文件,是最简单也是最快速的方式。但 MySQL 服务器的数据文件在服务器
2022-08-10

编程热搜

目录