当前位置: 首页 > news >正文

安徽建设工程信息网关闭 新网站wifi推广小程序搭建

安徽建设工程信息网关闭 新网站,wifi推广小程序搭建,克拉玛依市建设局网站,线上做网站赚钱备份MySQL数据库的4种方式前言我们试着想一想, 在生产环境中什么最重要#xff1f;如果我们服务器的硬件坏了可以维修或者换新, 软件问题可以修复或重新安装,但是如果数据没了呢#xff1f;这可能是最恐怖的事情了吧, 我感觉在生产环境中应该没有什么比数据跟更为重要.那么我…备份MySQL数据库的4种方式前言我们试着想一想, 在生产环境中什么最重要如果我们服务器的硬件坏了可以维修或者换新, 软件问题可以修复或重新安装,但是如果数据没了呢这可能是最恐怖的事情了吧, 我感觉在生产环境中应该没有什么比数据跟更为重要.那么我们该如何保证数据不丢失、或者丢失后可以快速恢复呢只要看完这篇, 大家应该就能对MySQL中实现数据备份和恢复能有一定的了解。为什么需要备份数据其实在前言中也大概说明了为什么要备份数据, 但是我们还是应该具体了解一下为什么要备份数据在生产环境中我们数据库可能会遭遇各种各样的不测从而导致数据丢失, 大概分为以下几种.硬件故障软件故障自然灾害******误操作 (占比最大)所以, 为了在数据丢失之后能够恢复数据, 我们就需要定期的备份数据, 备份数据的策略要根据不同的应用场景进行定制, 大致有几个参考数值, 我们可以根据这些数值从而定制符合特定环境中的数据备份策略能够容忍丢失多少数据恢复数据需要多长时间需要恢复哪一些数据数据的备份类型数据的备份类型根据其自身的特性主要分为以下几组完全备份部分备份完全备份指的是备份整个数据集( 即整个数据库 )、部分备份指的是备份部分数据集(例如: 只备份一个表)而部分备份又分为以下两种增量备份差异备份增量备份指的是备份自上一次备份以来(增量或完全)以来变化的数据; 特点: 节约空间、还原麻烦差异备份指的是备份自上一次完全备份以来变化的数据 特点: 浪费空间、还原比增量备份简单示意图MySQL备份数据的方式在MySQl中我们备份数据一般有几种方式热备份温备份冷备份热备份指的是当数据库进行备份时, 数据库的读写操作均不是受影响温备份指的是当数据库进行备份时, 数据库的读操作可以执行, 但是不能执行写操作冷备份指的是当数据库进行备份时, 数据库不能进行读写操作, 即数据库要下线MySQL中进行不同方式的备份还要考虑存储引擎是否支持MyISAM热备 ×温备 √冷备 √InnoDB热备 √温备 √冷备 √我们在考虑完数据在备份时, 数据库的运行状态之后还需要考虑对于MySQL数据库中数据的备份方式物理备份一般就是通过tar,cp等命令直接打包复制数据库的数据文件达到备份的效果逻辑备份一般就是通过特定工具从数据库中导出数据并另存备份(逻辑备份会丢失数据精度)物理备份逻辑备份备份需要考虑的问题定制备份策略前, 我们还需要考虑一些问题我们要备份什么?一般情况下, 我们需要备份的数据分为以下几种数据二进制日志, InnoDB事务日志代码(存储过程、存储函数、触发器、事件调度器)服务器配置文件备份工具这里我们列举出常用的几种备份工具mysqldump : 逻辑备份工具, 适用于所有的存储引擎, 支持温备、完全备份、部分备份、对于InnoDB存储引擎支持热备cp, tar 等归档复制工具: 物理备份工具, 适用于所有的存储引擎, 冷备、完全备份、部分备份lvm2 snapshot: 几乎热备, 借助文件系统管理工具进行备份mysqlhotcopy: 名不副实的的一个工具, 几乎冷备, 仅支持MyISAM存储引擎xtrabackup: 一款非常强大的InnoDB/XtraDB热备工具, 支持完全备份、增量备份, 由percona提供设计合适的备份策略针对不同的场景下, 我们应该制定不同的备份策略对数据库进行备份, 一般情况下, 备份策略一般为以下三种直接cp,tar复制数据库文件mysqldump复制BIN LOGSlvm2快照复制BIN LOGSxtrabackup以上的几种解决方案分别针对于不同的场景如果数据量较小, 可以使用第一种方式, 直接复制数据库文件如果数据量还行, 可以使用第二种方式, 先使用mysqldump对数据库进行完全备份, 然后定期备份BINARY LOG达到增量备份的效果如果数据量一般, 而又不过分影响业务运行, 可以使用第三种方式, 使用lvm2的快照对数据文件进行备份, 而后定期备份BINARY LOG达到增量备份的效果如果数据量很大, 而又不过分影响业务运行, 可以使用第四种方式, 使用xtrabackup进行完全备份后, 定期使用xtrabackup进行增量备份或差异备份实战演练使用cp进行备份我们这里使用的是使用yum安装的mysql-5.1的版本, 使用的数据集为从网络上找到的一个员工数据库查看数据库的信息mysql SHOW DATABASES;    #查看当前的数据库, 我们的数据库为employees--------------------| Database           |--------------------| information_schema || employees          || mysql              || test               |--------------------4 rows in set (0.00 sec)mysql USE employees;Database changedmysql SHOW TABLES;         #查看当前库中的表---------------------| Tables_in_employees |---------------------| departments         || dept_emp            || dept_manager        || employees           || salaries            || titles              |---------------------6 rows in set (0.00 sec)mysql SELECT COUNT(*) FROM employees;   #由于篇幅原因, 我们这里只看一下employees的行数为300024----------| COUNT(*) |----------|   300024 |----------1 row in set (0.05 sec)向数据库施加读锁mysql FLUSH TABLES WITH READ LOCK;    #向所有表施加读锁Query OK, 0 rows affected (0.00 sec)备份数据文件[rootnode1 ~]# mkdir /backup   #创建文件夹存放备份数据库文件[rootnode1 ~]# cp -a /var/lib/mysql/* /backup     #保留权限的拷贝源数据文件[rootnode1 ~]# ls /backup   #查看目录下的文件employees  ibdata1  ib_logfile0  ib_logfile1  mysql  mysql.sock  test模拟数据丢失并恢复[rootnode1 ~]# rm -rf /var/lib/mysql/*    #删除数据库的所有文件[rootnode1 ~]# service mysqld restart   #重启MySQL, 如果是编译安装的应该不能启动, 如果rpm安装则会重新初始化数据库mysql SHOW DATABASES;    #因为我们是rpm安装的, 连接到MySQL进行查看, 发现数据丢失了--------------------| Database           |--------------------| information_schema || mysql              || test               |--------------------3 rows in set (0.00 sec)[rootnode1 ~]# rm -rf /var/lib/mysql/*    #这一步可以不做[rootnode1 ~]# cp -a /backup/* /var/lib/mysql/    #将备份的数据文件拷贝回去[rootnode1 ~]# service mysqld restart  #重启MySQL#重新连接数据并查看mysql SHOW DATABASES;    #数据库已恢复--------------------| Database           |--------------------| information_schema || employees          || mysql              || test               |--------------------4 rows in set (0.00 sec)mysql USE employees;mysql SELECT COUNT(*) FROM employees;    #表的行数没有变化----------| COUNT(*) |----------|   300024 |----------1 row in set (0.06 sec)##完成使用mysqldump复制BINARY LOG备份我们这里使用的是使用yum安装的mysql-5.1的版本, 使用的数据集为从网络上找到的一个员工数据库我们通过mysqldump进行一次完全备份, 再修改表中的数据, 然后再通过binary log进行恢复 二进制日志需要在mysql配置文件中添加 log_binon 开启mysqldump命令介绍mysqldump是一个客户端的逻辑备份工具, 可以生成一个重现创建原始数据库和表的SQL语句, 可以支持所有的存储引擎, 对于InnoDB支持热备#基本语法格式shell mysqldump [options] db_name [tbl_name ...]    恢复需要手动CRATE DATABASESshell mysqldump [options] --databases db_name ...   恢复不需要手动创建数据库shell mysqldump [options] --all-databases           恢复不需要手动创建数据库其他选项:-E, --events: 备份事件调度器-R, --routines: 备份存储过程和存储函数--triggers: 备份表的触发器; --skip-triggers--master-date[value]1: 记录为CHANGE MASTER TO 语句、语句不被注释2: 记录为注释的CHANGE MASTER TO语句基于二进制还原只能全库还原--flush-logs: 日志滚动锁定表完成后执行日志滚动查看数据库的信息mysql SHOW DATABASES;    #查看当前的数据库, 我们的数据库为employees--------------------| Database           |--------------------| information_schema || employees          || mysql              || test               |--------------------4 rows in set (0.00 sec)mysql USE employees;Database changedmysql SHOW TABLES;         #查看当前库中的表---------------------| Tables_in_employees |---------------------| departments         || dept_emp            || dept_manager        || employees           || salaries            || titles              |---------------------6 rows in set (0.00 sec)mysql SELECT COUNT(*) FROM employees;   #由于篇幅原因, 我们这里只看一下employees的行数为300024----------| COUNT(*) |----------|   300024 |----------1 row in set (0.05 sec)使用mysqldump备份数据库[rootnode1 ~]# mysql -uroot -p -e SHOW MASTER STATUS   #查看当前二进制文件的状态, 并记录下position的数字------------------------------------------------------------| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |------------------------------------------------------------| mysql-bin.000003 |      106 |              |                  |------------------------------------------------------------[rootnode1 ~]# mysqldump --all-databases --lock-all-tables   backup.sql   #备份数据库到backup.sql文件中mysql CREATE DATABASE TEST1;   #创建一个数据库Query OK, 1 row affected (0.00 sec)mysql SHOW MASTER STATUS;   #记下现在的position------------------------------------------------------------| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |------------------------------------------------------------| mysql-bin.000003 |      191 |              |                  |------------------------------------------------------------1 row in set (0.00 sec)[rootnode1 ~]# cp /var/lib/mysql/mysql-bin.000003 /root  #备份二进制文件[rootnode1 ~]# service mysqld stop   #停止MySQL[rootnode1 ~]# rm -rf /var/lib/mysql/*   #删除所有的数据文件[rootnode1 ~]# service mysqld start    #启动MySQL, 如果是编译安装的应该不能启动(需重新初始化), 如果rpm安装则会重新初始化数据库mysql SHOW DATABASES;   #查看数据库, 数据丢失!--------------------| Database           |--------------------| information_schema || mysql              || test               |--------------------3 rows in set (0.00 sec)mysql SET sql_log_binOFF;   #暂时先将二进制日志关闭Query OK, 0 rows affected (0.00 sec)mysql source backup.sql  #恢复数据所需时间根据数据库时间大小而定mysql SET sql_log_binON; 开启二进制日志mysql SHOW DATABASES;   #数据库恢复, 但是缺少TEST1--------------------| Database           |--------------------| information_schema || employees          || mysql              || test               |--------------------4 rows in set (0.00 sec)[rootnode1 ~]# mysqlbinlog --start-position106 --stop-position191 mysql-bin.000003 | mysql employees #通过二进制日志增量恢复数据mysql SHOW DATABASES;    #现在TEST1出现了--------------------| Database           |--------------------| information_schema || TEST1              || employees          || mysql              || test               |--------------------5 rows in set (0.00 sec)#完成使用lvm2快照备份数据做实验之前我们先回顾一下lvm2-snapshot的知识LVM快照简单来说就是将所快照源分区一个时间点所有文件的元数据进行保存如果源文件没有改变那么访问快照卷的相应文件则直接指向源分区的源文件如果源文件发生改变则快照卷中与之对应的文件不会发生改变。快照卷主要用于辅助备份文件。 这里只简单介绍点击查看详细介绍部署lvm环境添加硬盘; 这里我们直接实现SCSI硬盘的热插拔, 首先在虚拟机中添加一块硬盘, 不重启[rootnode1 ~]# ls /dev/sd*   #只有以下几块硬盘, 但是我们不重启可以让系统识别新添加的硬盘/dev/sda  /dev/sda1  /dev/sda2[rootnode1 ~]# echo - - - /sys/class/scsi_host/host0/scan[rootnode1 ~]# echo - - - /sys/class/scsi_host/host1/scan[rootnode1 ~]# echo - - - /sys/class/scsi_host/host2/scan[rootnode1 ~]# ls /dev/sd*    #看sdb识别出来了/dev/sda  /dev/sda1  /dev/sda2  /dev/sdb[rootnode1 ~]# fdisk /dev/sdb   #分区Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabelBuilding a new DOS disklabel with disk identifier 0xd353d192.Changes will remain in memory only, until you decide to write them.After that, of course, the previous content wont be recoverable.Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)WARNING: DOS-compatible mode is deprecated. Its strongly recommended toswitch off the mode (command c) and change display units tosectors (command u).Command (m for help): nCommand actione   extendedp   primary partition (1-4)pPartition number (1-4): 1First cylinder (1-2610, default 1):Using default value 1Last cylinder, cylinders or size{K,M,G} (1-2610, default 2610): 15GCommand (m for help): tSelected partition 1Hex code (type L to list codes): 8eChanged system type of partition 1 to 8e (Linux LVM)Command (m for help): wThe partition table has been altered!Calling ioctl() to re-read partition table.Syncing disks.You have new mail in /var/spool/mail/root[rootnode1 ~]# partx -a /dev/sdbBLKPG: Device or resource busyerror adding partition 1##创建逻辑卷[rootnode1 ~]# pvcreate /dev/sdb1Physical volume /dev/sdb1 successfully created[rootnode1 ~]# vgcreate myvg /dev/sdb1Volume group myvg successfully created[rootnode1 ~]# lvcreate -n mydata -L 5G myvgLogical volume mydata created.[rootnode1 ~]# mkfs.ext4 /dev/mapper/myvg-mydata   #格式化[rootnode1 ~]# mkdir /lvm_data[rootnode1 ~]# mount /dev/mapper/myvg-mydata /lvm_data  #挂载到/lvm_data[rootnode1 ~]# vim /etc/my.cnf    #修改mysql配置文件的datadir如下datadir/lvm_data[rootnode1 ~]# service mysqld restart  #重启MySQL####重新导入employees数据库########略过####查看数据库的信息mysql SHOW DATABASES;    #查看当前的数据库, 我们的数据库为employees--------------------| Database           |--------------------| information_schema || employees          || mysql              || test               |--------------------4 rows in set (0.00 sec)mysql USE employees;Database changedmysql SHOW TABLES;         #查看当前库中的表---------------------| Tables_in_employees |---------------------| departments         || dept_emp            || dept_manager        || employees           || salaries            || titles              |---------------------6 rows in set (0.00 sec)mysql SELECT COUNT(*) FROM employees;   #由于篇幅原因, 我们这里只看一下employees的行数为300024----------| COUNT(*) |----------|   300024 |----------1 row in set (0.05 sec)创建快照卷并备份mysql FLUSH TABLES WITH READ LOCK;     #锁定所有表Query OK, 0 rows affected (0.00 sec)[rootnode1 lvm_data]# lvcreate -L 1G -n mydata-snap -p r -s /dev/mapper/myvg-mydata   #创建快照卷Logical volume mydata-snap created.mysql UNLOCK TABLES;  #解锁所有表Query OK, 0 rows affected (0.00 sec)[rootnode1 lvm_data]# mkdir /lvm_snap  #创建文件夹[rootnode1 lvm_data]# mount /dev/myvg/mydata-snap /lvm_snap/  #挂载snapmount: block device /dev/mapper/myvg-mydata--snap is write-protected, mounting read-only[rootnode1 lvm_data]# cd /lvm_snap/[rootnode1 lvm_snap]# lsemployees  ibdata1  ib_logfile0  ib_logfile1  mysql  mysql-bin.000001  mysql-bin.000002  mysql-bin.000003  mysql-bin.index  test[rootnode1 lvm_snap]# tar cf /tmp/mysqlback.tar *  #打包文件到/tmp/mysqlback.tar[rootnode1 ~]# umount /lvm_snap/  #卸载snap[rootnode1 ~]# lvremove myvg mydata-snap  #删除snap恢复数据[rootnode1 lvm_snap]# rm -rf /lvm_data/*[rootnode1 ~]# service mysqld start    #启动MySQL, 如果是编译安装的应该不能启动(需重新初始化), 如果rpm安装则会重新初始化数据库mysql SHOW DATABASES;   #查看数据库, 数据丢失!--------------------| Database           |--------------------| information_schema || mysql              || test               |--------------------3 rows in set (0.00 sec)[rootnode1 ~]# cd /lvm_data/[rootnode1 lvm_data]# rm -rf * #删除所有文件[rootnode1 lvm_data]# tar xf /tmp/mysqlback.tar     #解压备份数据库到此文件夹[rootnode1 lvm_data]# ls  #查看当前的文件employees  ibdata1  ib_logfile0  ib_logfile1  mysql  mysql-bin.000001  mysql-bin.000002  mysql-bin.000003  mysql-bin.index  testmysql SHOW DATABASES;  #数据恢复了--------------------| Database           |--------------------| information_schema || employees          || mysql              || test               |--------------------4 rows in set (0.00 sec)##完成使用Xtrabackup备份为了更好地演示, 我们这次使用mariadb-5.5的版本, 使用xtrabackup使用InnoDB能够发挥其最大功效, 并且InnoDB的每一张表必须使用单独的表空间, 我们需要在配置文件中添加 innodb_file_per_table ON 来开启下载安装xtrabackup我们这里通过wget percona官方的rpm包进行安装[rootnode1 ~]# wget https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.3.4/binary/redhat/6/x86_64/percona-xtrabackup-2.3.4-1.el6.x86_64.rpm[rootnode1 ~]# yum localinstall percona-xtrabackup-2.3.4-1.el6.x86_64.rpm   #需要EPEL源xtrabackup介绍Xtrabackup是由percona提供的mysql数据库备份工具据官方介绍这也是世界上惟一一款开源的能够对innodb和xtradb数据库进行热备的工具。特点备份过程快速、可靠备份过程不会打断正在执行的事务能够基于压缩等功能节约磁盘空间和流量自动实现备份检验还原速度快摘自马哥的文档xtrabackup实现完全备份我们这里使用xtrabackup的前端配置工具innobackupex来实现对数据库的完全备份使用innobackupex备份时, 会调用xtrabackup备份所有的InnoDB表, 复制所有关于表结构定义的相关文件(.frm)、以及MyISAM、MERGE、CSV和ARCHIVE表的相关文件, 同时还会备份触发器和数据库配置文件信息相关的文件, 这些文件会被保存至一个以时间命名的目录.备份过程[rootnode1 ~]# mkdir /extrabackup  #创建备份目录[rootnode1 ~]# innobackupex --userroot /extrabackup/ #备份数据###################提示complete表示成功*********************[rootnode1 ~]# ls /extrabackup/  #看到备份目录2016-04-27_07-30-48一般情况, 备份完成后, 数据不能用于恢复操作, 因为备份的数据中可能会包含尚未提交的事务或已经提交但尚未同步至数据文件中的事务。因此, 此时的数据文件仍不一致, 所以我们需要”准备”一个完全备份[rootnode1 ~]# innobackupex --apply-log /extrabackup/2016-04-27_07-30-48/  #指定备份文件的目录#一般情况下下面三行结尾代表成功*****************InnoDB: Starting shutdown...InnoDB: Shutdown completed; log sequence number 369661462160427 07:40:11 completed OK![rootnode1 ~]# cd /extrabackup/2016-04-27_07-30-48/[rootnode1 2016-04-27_07-30-48]# ls -hl  #查看备份文件total 31M-rw-r----- 1 root root  386 Apr 27 07:30 backup-my.cnfdrwx------ 2 root root 4.0K Apr 27 07:30 employees-rw-r----- 1 root root  18M Apr 27 07:40 ibdata1-rw-r--r-- 1 root root 5.0M Apr 27 07:40 ib_logfile0-rw-r--r-- 1 root root 5.0M Apr 27 07:40 ib_logfile1drwx------ 2 root root 4.0K Apr 27 07:30 mysqldrwx------ 2 root root 4.0K Apr 27 07:30 performance_schemadrwx------ 2 root root 4.0K Apr 27 07:30 test-rw-r----- 1 root root   27 Apr 27 07:30 xtrabackup_binlog_info-rw-r--r-- 1 root root   29 Apr 27 07:40 xtrabackup_binlog_pos_innodb-rw-r----- 1 root root  117 Apr 27 07:40 xtrabackup_checkpoints-rw-r----- 1 root root  470 Apr 27 07:30 xtrabackup_info-rw-r----- 1 root root 2.0M Apr 27 07:40 xtrabackup_logfile恢复数据[rootnode1 ~]# rm -rf /data/*   #删除数据文件***不用启动数据库也可以还原*************[rootnode1 ~]# innobackupex --copy-back /extrabackup/2016-04-27_07-30-48/   #恢复数据, 记清使用方法#########我们这里是编译安装的mariadb所以需要做一些操作##########[rootnode1 data]# killall mysqld[rootnode1 ~]# chown -R mysql:mysql ./*[rootnode1 ~]# ll /data/      #数据恢复total 28704-rw-rw---- 1 mysql mysql    16384 Apr 27 07:43 aria_log.00000001-rw-rw---- 1 mysql mysql       52 Apr 27 07:43 aria_log_control-rw-rw---- 1 mysql mysql 18874368 Apr 27 07:43 ibdata1-rw-rw---- 1 mysql mysql  5242880 Apr 27 07:43 ib_logfile0-rw-rw---- 1 mysql mysql  5242880 Apr 27 07:43 ib_logfile1-rw-rw---- 1 mysql mysql      264 Apr 27 07:43 mysql-bin.000001-rw-rw---- 1 mysql mysql       19 Apr 27 07:43 mysql-bin.index-rw-r----- 1 mysql mysql     2166 Apr 27 07:43 node1.anyisalin.com.err[rootnode1 data]# service mysqld restartMySQL server PID file could not be found!                  [FAILED]Starting MySQL..                                           [  OK  ]MariaDB [(none)] SHOW DATABASES;  #查看数据库, 已经恢复--------------------|Database           |--------------------|information_schema ||employees          ||mysql              ||performance_schema ||test               |--------------------5 rows in set (0.00 sec增量备份#########创建连两个数据库以供测试#####################MariaDB [(none)] CREATE DATABASE TEST1;Query OK, 1 row affected (0.00 sec)MariaDB [(none)] CREATE DATABASE TEST2;Query OK, 1 row affected (0.00 sec)[rootnode1 ~]# innobackupex --incremental /extrabackup/ --incremental-basedir/extrabackup/2016-04-27_07-30-48/[rootnode1 ~]# ls /extrabackup/2016-04-27_07-57-22/ #查看备份文件total 96-rw-r----- 1 root root   386 Apr 27 07:57 backup-my.cnfdrwx------ 2 root root  4096 Apr 27 07:57 employees-rw-r----- 1 root root 49152 Apr 27 07:57 ibdata1.delta-rw-r----- 1 root root    44 Apr 27 07:57 ibdata1.metadrwx------ 2 root root  4096 Apr 27 07:57 mysqldrwx------ 2 root root  4096 Apr 27 07:57 performance_schemadrwx------ 2 root root  4096 Apr 27 07:57 testdrwx------ 2 root root  4096 Apr 27 07:57 TEST1drwx------ 2 root root  4096 Apr 27 07:57 TEST2-rw-r----- 1 root root    21 Apr 27 07:57 xtrabackup_binlog_info-rw-r----- 1 root root   123 Apr 27 07:57 xtrabackup_checkpoints-rw-r----- 1 root root   530 Apr 27 07:57 xtrabackup_info-rw-r----- 1 root root  2560 Apr 27 07:57 xtrabackup_logfileBASEDIR指的是完全备份所在的目录此命令执行结束后innobackupex命令会在/extrabackup目录中创建一个新的以时间命名的目录以存放所有的增量备份数据。另外在执行过增量备份之后再一次进行增量备份时其--incremental-basedir应该指向上一次的增量备份所在的目录。需要注意的是增量备份仅能应用于InnoDB或XtraDB表对于MyISAM表而言执行增量备份时其实进行的是完全备份。整理增量备份[rootnode1 ~]# innobackupex --apply-log --redo-only /extrabackup/2016-04-27_07-30-48/[rootnode1 ~]# innobackupex --apply-log --redo-only /extrabackup/2016-04-27_07-30-48/ --incremental-dir/extrabackup/2016-04-27_07-57-22/恢复数据[rootnode1 ~]# rm -rf /data/*   #删除数据[rootnode1 ~]# innobackupex --copy-back /extrabackup/2016-04-27_07-30-48/     #整理增量备份之后可以直接通过全量备份还原[rootnode1 ~]# chown -R mysql.mysql /data/[rootnode1 ~]# ls /data/ -ltotal 28732-rw-rw---- 1 mysql mysql     8192 Apr 27 08:05 aria_log.00000001-rw-rw---- 1 mysql mysql       52 Apr 27 08:05 aria_log_controldrwx------ 2 mysql mysql     4096 Apr 27 08:05 employees-rw-r----- 1 mysql mysql 18874368 Apr 27 08:05 ibdata1-rw-r----- 1 mysql mysql  5242880 Apr 27 08:05 ib_logfile0-rw-r----- 1 mysql mysql  5242880 Apr 27 08:05 ib_logfile1drwx------ 2 mysql mysql     4096 Apr 27 08:05 mysql-rw-rw---- 1 mysql mysql      245 Apr 27 08:05 mysql-bin.000001-rw-rw---- 1 mysql mysql       19 Apr 27 08:05 mysql-bin.index-rw-r----- 1 mysql mysql     1812 Apr 27 08:05 node1.anyisalin.com.err-rw-rw---- 1 mysql mysql        5 Apr 27 08:05 node1.anyisalin.com.piddrwx------ 2 mysql mysql     4096 Apr 27 08:05 performance_schemadrwx------ 2 mysql mysql     4096 Apr 27 08:05 testdrwx------ 2 mysql mysql     4096 Apr 27 08:05 TEST1drwx------ 2 mysql mysql     4096 Apr 27 08:05 TEST2-rw-r----- 1 mysql mysql       29 Apr 27 08:05 xtrabackup_binlog_pos_innodb-rw-r----- 1 mysql mysql      530 Apr 27 08:05 xtrabackup_infoMariaDB [(none)] SHOW DATABASES;  #数据还原--------------------| Database           |--------------------| information_schema || TEST1              || TEST2              || employees          || mysql              || performance_schema || test               |--------------------7 rows in set (0.00 sec)#关于xtrabackup还有很多强大的功能没有叙述、有兴趣可以去看官方文档总结备份方法备份速度恢复速度便捷性功能一般用于cp快快一般、灵活性低很弱少量数据备份mysqldump慢慢一般、可无视存储引擎的差异一般中小型数据量的备份lvm2快照快快一般、支持几乎热备、速度快一般中小型数据量的备份xtrabackup较快较快实现innodb热备、对存储引擎有要求强大较大规模的备份其实我们还可以通过Master-Slave Replication 进行备份。
http://www.yutouwan.com/news/277067/

相关文章:

  • 个人 网站备案微信公众号移动网站开发
  • 可做外链的视频网站广州抖音推广
  • 建设厅电工证查询网站天猫建设网站的意义
  • 品牌宣传型企业网站长沙装修
  • 云电脑注册网站首页wordpress 注册邀请码
  • 苏州建设公司网站唐山建设公司网站
  • 焦作网站建设服务爱妮微如何做网站链接的网址
  • 通达oa 做网站深圳市大鹏建设局网站
  • 做网站学哪些语言给别人做网站用做假酒验证
  • 提高网站的访问速度网站怎么做付费项目
  • 网站技术建设方案高邮城乡建设局 网站
  • 哪些网站是单页应用怎样建微信公众号
  • 公司门户网站建设做网站需要懂程序吗
  • 桂平做网站公司上海临港自贸区注册公司
  • wordpress站点美化网站制作维护费 归属
  • 登陆建设银行wap网站网站建设中怎么回事
  • 店面设计费用西青seo
  • 广州做网站多少钱中山做网站公司哪家好
  • 山西省财政厅网站三基建设专栏网站集约化建设工作打算
  • wordpress 企业网站主题谷歌seo搜索
  • 本地服务器如何做网站百度一下你就知道主页
  • 从化高端网站建设岳阳网站开发建设
  • 网站常用英文建设网站费用吗
  • 房地产微网站模板上海公司买房需要什么条件
  • 东莞一站式网站建设企业网站后台管理系统
  • 大气建站工作室网站源码西安网站建设易网宣
  • 一 网站建设的目的和目标电子商务网站搭建方案
  • 金融网站开发文档下载模板外贸网站建设
  • 网站建设教程 企业邮箱沭阳苏奥产业园做网站
  • 试述建设一个网站的具体步骤对于网站界面