(1).Mysql备份类型

1)按照备份时对数据库的影响分为

  Hot backup(热备):也叫在线备份。指在数据库运行中直接备份,对正在运行的数据库没有任何影响。

  Cold backup(冷备):也叫离线备份。指在数据库停止的情况下备份。

  Warm backup(温备):在数据库运行时备份,会加一个全局锁以保证数据的一致性,会对当前数据库的操作有影响。

2)按照备份后的文件内容分为

  逻辑备份:指备份后的文件内容是可读的,通常为文本文件,内容一般是SQL语句或表内的实际数据(mysqldump和select * into outfile),一般适用于数据库的升级和迁移,还原时间较长。

  裸文件备份:也叫物理备份。拷贝数据库的物理文件,数据库既可以处于运行状态(mysqlhotcopy、ibbackup、xtrabackup一类工具),也可以处于停止状态,还原时间较短。

3)按照备份数据库的内容分为

  完全备份:对数据库进行完整的备份。

  增量备份:在上一次完整备份的基础上,对更新的数据进行备份(xtrabackup)

  日志备份:二进制日志备份,主从同步。

(2).mysqldump

  mysqldump是逻辑备份工具,支持MyISAM和InnoDB引擎。数据库运行时,MyISAM引擎只支持温备,InnoDB支持热备和温备。

1)导出数据

  导出所有数据库

[root@youxi1 ~]# mysqldump -uroot -p123456 -A > all.sql
mysqldump: [Warning] Using a password on the command line interface can be insecure.
[root@youxi1 ~]# mysqldump -uroot -p123456 --all-databases > all2.sql
mysqldump: [Warning] Using a password on the command line interface can be insecure.
[root@youxi1 ~]# ll all.sql all2.sql
-rw-r--r-- 1 root root 773437 6月 14 13:52 all2.sql
-rw-r--r-- 1 root root 773437 6月 14 13:51 all.sql

  导出指定数据库里的所有数据表

[root@youxi1 ~]# mysqldump -uroot -p123456 mysql > mysql.sql
mysqldump: [Warning] Using a password on the command line interface can be insecure.
[root@youxi1 ~]# ll mysql.sql
-rw-r--r-- 1 root root 1089455 6月 14 13:53 mysql.sql

  导出指定数据库里的指定数据表

[root@youxi1 ~]# mysqldump -uroot -p123456 test_db user_tb > user.sql
mysqldump: [Warning] Using a password on the command line interface can be insecure.
[root@youxi1 ~]# ll user.sql
-rw-r--r-- 1 root root 1883 6月 14 13:54 user.sql

  只导出指定数据库里的所有数据表的表结构

[root@youxi1 ~]# mysqldump -uroot -p123456 -d test_db > test_db_table.sql
mysqldump: [Warning] Using a password on the command line interface can be insecure.
[root@youxi1 ~]# ll test_db_table.sql
-rw-r--r-- 1 root root 1618 6月 14 13:56 test_db_table.sql

  只导出数据库里的所有数据表的所有数据

[root@youxi1 ~]# mysqldump -uroot -p123456 -t test_db > test_db_data.sql
mysqldump: [Warning] Using a password on the command line interface can be insecure.
[root@youxi1 ~]# ll test_db_data.sql
-rw-r--r-- 1 root root 1513 6月 14 13:57 test_db_data.sql

  导出指定数据库的所有内容

[root@youxi1 ~]# mysqldump -uroot -p123456 -B test_db > test_db.sql
mysqldump: [Warning] Using a password on the command line interface can be insecure.
[root@youxi1 ~]# ll test_db.sql
-rw-r--r-- 1 root root 2029 6月 14 14:02 test_db.sql

  注意:以上几个实例,只有-A、--all-databases和-B选项有创建数据库,并使用数据库的语句。这和后面的导入数据息息相关。

2)导入数据

  如果使用-A、--all-databases和-B选项导出的数据库可以使用mysql直接导入

mysql -uroot -p123456 < all.sql

  如果不是则需要进入到mysql内部,选择数据库才能导入数据;或者使用mysql时指定数据库

>use mysql
>source mysql.sql mysql -uroot -p123456 mysql < mysql.sql

(3).mysqlhotcopy

  mysql5.7已经没有这个命令了,多用于mysql5.5之前。mysqlhotcopy使用lock tables、flush tables和cp或scp来快速备份数据库或单个表,属于裸文件备份(物理备份),只能用于MyISAM引擎的数据库。本质是使用锁表语句,然后cp或scp。

  可以使用yum命令安装

yum -y install perl-DBD*;

1)备份

  备份一个数据库到目标目录

mysqlhotcopy -u [用户名] -p [密码] [数据库名] [目标目录]

  备份多个数据库到目标目录

mysqlhotcopy -u [用户名] -p [密码] [数据库名1 数据库名2...] [目标目录]

  备份数据库中的某个表到指定目录

mysqlhotcopy -u [用户名] -p [密码] [数据库名]./[表名]/ [目标目录]

2)还原

  在Linux中Mysql数据库都是以物理文件存在的,数据库对应的是目录。如果想要还原只要将原来的文件拷贝回原目录即可。

  单个数据库备份还原方式:如果文件所有这和所属组不是mysql,请使用chown修改。

cp -ra [目标目录] /var/lib/mysql/[数据库名]/

(4).mysqldump和mysqlhotcopy比较

  1.mysqldump 是采用SQL级别的备份机制,它将数据表导成 SQL 脚本文件,数据库大时,占用系统资源较多,支持常用的MyISAM,innodb引擎;mysqlhotcopy只是简单的缓存写入和文件复制的过程,占用资源和备份速度比mysqldump快很多很多,特别适合大的数据库,但需要注意的是:mysqlhotcopy只支持MyISAM 引擎。

  2.mysqlhotcopy只能运行在数据库目录所在的机器上,mysqldump可以用在远程客户端。

  3.mysqlhotcopy恢复只需要拷贝备份文件到源目录覆盖即可,mysqldump需要导入SQL文件到原来库中。

  4.两者都在线执行lock tables(锁表)以及unlock tables(解锁表)。

Mysql备份工具mysqldump和mysqlhotcopy的更多相关文章

  1. mysql备份工具 :mysqldump mydumper Xtrabackup 原理

    备份是数据安全的最后一道防线,对于任何数据丢失的场景,备份虽然不一定能恢复百分之百的数据(取决于备份周期),但至少能将损失降到最低.衡量备份恢复有两个重要的指标:恢复点目标(RPO)和恢复时间目标(R ...

  2. MySQL备份工具之mysqldump使用

    MySQL备份工具之mysqldump使用说明 一.备份分类 根据能否停用数据库,将备份类型分为: 1. 冷备:数据库服务停止后备份 2. 温备:只能对数据库进行读操作,不能进行写操作 3. 热备:在 ...

  3. MySQL数据备份之逻辑备份工具mysqldump

    #前言:我们知道对数据进行备份很重要,出现非正常操作可以进行对数据进行恢复,下面我们就来使用一下mysql数据库自带的一个逻辑备份工具mysqldump 1.简单概述 #mysqldump:mysql ...

  4. mysql备份工具innobackupex,xtrabackup-2.1的原理和安装

    mysql备份工具innobackupex,xtrabackup-2.1的原理和安装 http://bbs.2cto.com/read.php?tid=310496 一.Xtrabackup介绍 1. ...

  5. Mysql备份工具xtraback全量和增量测试

    Mysql备份工具xtraback全量和增量测试   xtrabackup 是 percona 的一个开源项目,可以热备份innodb ,XtraDB,和MyISAM(会锁表) 官方网址http:// ...

  6. Mysql备份工具比较

    Mysql备份工具比较 大 | 中 | 小 [ 2012/12/25 12:10 | by Sonic ] 1. 使用automysqlbackup http://sourceforge.net/pr ...

  7. MySQL 备份脚本--mysqldump在slave 上进行备份

    MySQL 备份脚本--mysqldump在slave 上进行备份 使用mysqldump在slave上进行备份,建议使用stop slave sql_thread,start slave sql_t ...

  8. MySQL备份还原——mysqldump工具介绍

    mysqldump是一款MySQL逻辑备份的工具,他将数据库里面的对象(表)导出成SQL脚本文件.有点类似于SQL SEVER的"任务-生成脚本"的逻辑备份功能.mysqldump ...

  9. Mysql 备份恢复之 Mysqldump 工具

    目前正在学习中,看到mysqldump工具导出的数据都是文本形式的,如果是blob或text大对象类型导出的是什么格式的?这个需要后续研究.下面只先总结下简单的. 一.备份1.备份Mysql一个数据库 ...

随机推荐

  1. MyBatis_[tp_50]_动态sql_bind绑定 与原生sql对比

    笔记要点出错分析与总结 更推荐,原生的sql写法,bind方法不灵活! Test中: e.setLastName("%e%"); 直接在这里写上模糊查询的语句,更加省时 配置中: ...

  2. 大数据之路week07--day03(Hadoop深入理解,JAVA代码编写WordCount程序,以及扩展升级)

    什么是MapReduce 你想数出一摞牌中有多少张黑桃.直观方式是一张一张检查并且数出有多少张是黑桃. MapReduce方法则是: 1.给在座的所有玩家中分配这摞牌 2.让每个玩家数自己手中的牌有几 ...

  3. Cache 和 Buffer 的区别在哪里

    Cache和Buffer是两个不同的概念,简单的说,Cache是加速“读”,而buffer是缓冲“写”,前者解决读的问题,保存从磁盘上读出的数据,后者是解决写的问题,保存即将要写入到磁盘上的数据.在很 ...

  4. E:first-of-type

    E:first-of-type 语法: E:first-of-type { sRules } 说明: 匹配同类型中的第一个同级兄弟元素E.大理石平台[1200mm*1000mm*150mm] 要使该属 ...

  5. idea创建springmvc项目创部署成功,但访问controller层报错404

    这个问题网上有很多解决问题,检查配置文件是否正确?controller注解是否扫描?项目启动是否成功等等. 访问报错404,而且后台也没错误,归根结底还是访问路径错了. 1.如图,idea配置tomc ...

  6. 013——C# chart控件时间作为X轴(附教程)

    (一)参考文献:C#之Chart控件系列教程——一 (二)下载地址:https://download.csdn.net/download/xiaoguoge11/11838944 (三)视频教程:ht ...

  7. 洛谷 P2347 砝码称重 题解

    每日一题 day12 打卡 Analysis 完全背包 #include<iostream> #include<cstdio> #include<cstring> ...

  8. MyBatis中jdbcType=INTEGER、VARCHAR作用

    Mapper.xml中 pid = #{pid,jdbcType=INTEGER} pid = #{pid} 都可以用 Mybatis中什么时候应该声明jdbcType? 当Mybatis不能自动识别 ...

  9. bzoj 1396/2865: 识别子串 后缀自动机+线段树

    水水的字符串题 ~ #include <map> #include <cstdio> #include <cstring> #include <algorit ...

  10. linux系列(二十三):df命令

    1.命令格式 df [选项] [文件] 2.命令功能 显示指定磁盘文件的可用空间.如果没有文件名被指定,则所有当前被挂载的文件系统的可用空间将被显示.默认情况下,磁盘空间将以 1KB 为单位进行显示, ...