MySQL数据备份

在mySQL里面,有逻辑备份和物理备份。逻辑备份最大长处是对于各种存储引擎,都能够使用相同的方法来备份。

而物理备份则不同。不同的存储引擎有着不同的备份方法。

逻辑备份与恢复

备份

在MySQL中逻辑备份是使用mysqldump将数据库中的数据备份为一个文本文件,备份的文件能够被查看和编辑。依照备份范围,能够将备份分为下面三种备份。

  • 备份指定的一个数据库或者该数据库中的某些表

    mysqldump [options] 数据库名 [表名] > data.sql
  • 备份指定的多个数据库

    mysqldump [options] –database > data.sql 数据库1名 数据库2名 数据库3名…
  • 备份全部的数据库

    mysqldump [options] –all-database > data.sql

    解析:[options] 备份时候。须要的权限信息等。

    mysqldump的选项非常多,详细能够通过mysqldump –help来查看。 为了保证数据备份一致性。MySQL存储引擎在北方时候,须要加上-l 參数,表示将全部表加上读锁。在备份期间。全部的表将仅仅能读,而不能写。可是对于InnoDB引擎来说,能够採用–single-transaction。data.sql备份的数据文件

    參数:

    l:代表给全部表加锁

    f:代表生成一个新的日子文件

实例将xxpt数据库中全部表备份到dequan.sql表中。

命令例如以下:

mysqldump -uroot -p xxpt >dequan.sql



由于上面我没有指定备份路径,默认情况下,会备份到当前路径,所以备份到D:\wamp\bin\mysql\mysql5.6.17\bin路径下了。

恢复

全然恢复

mysqldump的恢复也非常easy。将备份作为输入运行就可以。结果例如以下:

mysql -uroot -p dbname

不全然恢复

不全然恢复包括基于时间点的恢复和基于位置的恢复。时间点与位置是相相应二进制日志(binlog日志)里面的时间点和位置。

基于时间点

将设下午4:00到下午5:00之前的数据室错误的。恢复时候。须要跳过。首先我们来看一下binlog日志。例如以下午4点多更新数据是错误的,恢复时候须要跳过。下午5点多删除数据是正确的。须要保留。



1.通过mysql -uroot -p dbname

基于位置的恢复

使用位置恢复时候,我们须要先查看binlog日志文件,确定位置编号,然后使用例如以下命令进行恢复:

mysqlbinlog D:\wamp\bin\mysql\mysql5.6.17\data\mybinlog.000012 –stop-position=716406|mysql -uroot -p

恢复5点之后的操作

D:\wamp\bin\mysql\mysql5.6.17\data\mybinlog.000012 –start-position=723613|mysql -uroot -p

物理备份与恢复

物理备份分为冷备份和热备份。和逻辑备份相比,它的最大长处是备份和恢复的速度快。

由于物理备份的原理都是基于文件的cp。

冷备份与恢复

冷备份事实上就是将停掉数据库服务,复制数据文件的方法。这样的方法对MyISAM和InnoDB都适合。

恢复:首先停掉Mysql服务。在操作系统级别恢复MySQL的数据文件,然后重新启动Mysql服务,使用Mysqlbinlog工具恢复备份以来的全部binlog。

热备份

在mysql中不同存储引擎的热备份时不相同的。

MyISAM存储引擎

MyISAM存储引擎备份原理就是将要备份的表加读锁,然后在cp数据文件到备份文件夹。经常用法

  • 方法一:使用mysqlhotcop

    mysqlhotcop db_name [文件夹]
  • 方法二:手工锁表copy

    首先给数据库中全部表加读锁。然后cp数据。

    锁定全部表flush tables with read lock;

InnoDB存储引擎

正在学习中···

表的导入与导出

导出

  • 使用SELECT …INTO OUTFILE …+[options]命令实现

    关于options參数例如以下



    默认路径为该数据相应的路径下:



  • 使用mysqldump

    mysqldump -u username -T targetDir dbname tableName[options]

    比方:

    mysqldump -uroot -p -T D:/wamp/bin/mysql/mysql5.6.17/ xxpt t1

    生成了两个文件。例如以下图:



    t1.txt中保存中数据信息,t1.sql文件内容例如以下
-- MySQL dump 10.13  Distrib 5.6.17, for Win32 (x86)
--
-- Host: localhost Database: xxpt
-- ------------------------------------------------------
-- Server version 5.6.17-log /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; --
-- Table structure for table `t1`
-- DROP TABLE IF EXISTS `t1`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `t1` (
`id1` int(11) NOT NULL DEFAULT '0',
`id2` int(3) unsigned zerofill NOT NULL DEFAULT '000'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */; /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; /*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
-- Dump completed on 2016-04-18 19:30:51

导入

方法一:

load data infile

eg:

load data infile ‘D:/wamp/bin/mysql/mysql5.6.17/t1.txt’ into table t1;



方法二:使用mysqlinport

MySQL的备份与恢复具体解释的更多相关文章

  1. MySQL的备份与恢复

    Linux下的mysql的备份与恢复 备份: 比如我们要备份mysql中已经存在的名为linux的数据库,要用到命令mysqldump 命令格式如下: [root@linuxsir01 root]# ...

  2. MySQL增量备份与恢复实例【转】

    小量的数据库可以每天进行完整备份,因为这也用不了多少时间,但当数据库很大时,就不太可能每天进行一次完整备份了,这时候就可以使用增量备份.增量备份的原理就是使用了mysql的binlog日志.本次操作的 ...

  3. Mysql 数据备份与恢复,用户创建,授权

    Mysql 数据备份与恢复,用户创建,授权 1. Mysqldump >outfile.sql 2. Mysql –uxxx –pxxx < backfile.sql 3. Create  ...

  4. mysql explain字段意思解释

    mysql explain字段意思解释 explain包含id.select_type.table.type.possible_keys.key.key_len.ref.rows.extra字段 id ...

  5. 2020重新出发,MySql基础,MySql数据库备份与恢复

    @ 目录 MySQL数据库备份与恢复 数据库为什么需要备份 MySQL备份类型 MySQL热备份及恢复 逻辑备份 mysqldump SELECT INTO-OUTFILE mydumper 裸文件备 ...

  6. MYSQL的备份与恢复--物理备份xrabackup

    目录 1.数据库完整备份与恢复 (1)环境准备 (2)完全备份恢复流程 2.数据库增量备份与恢复 (1)增量和差异概述 (2)增量备份和恢复 3.数据库差异备份与恢复 4.简单命令进行物理备份 5.实 ...

  7. MySQL中EXPLAIN的解释

    EXPLAIN是查看MySQL优化器如何决定执行查询的主要方法,这个功能具有局限性,以为它并总是会说出真相,但是却可以获得最好信息. 学会解释EXPLAIN,你就会了解MySQL优化器是如何工作,你才 ...

  8. Mysql EXPLAIN列的解释

    转自:http://blog.chinaunix.net/uid-540802-id-3419311.html explain显示了mysql如何使用索引来处理select语句以及连接表.可以帮助选择 ...

  9. MySQL的备份与恢复理解与备份策略

    MySQL的备份主要分为逻辑备份和物理备份 逻辑备份 在MySQL中逻辑备份的最大优点是对各种存储引擎都可以用同样的方法来备份.而物理备份则不同,不同的存储引擎有着不同的备份方法.Mysql中的逻辑备 ...

随机推荐

  1. 做一个APP

    前言 有点零乱,但是我想写下来慢慢整理,搭建一个好点的工程-模式MVC, 会包括一些第三方库,动画库,第三方库管理关联,自定义常用控件的管理和关联 1.预编译文件的创建 在build setting ...

  2. 【bzoj1146】[CTSC2008]网络管理Network 倍增LCA+dfs序+树状数组+主席树

    题目描述 M公司是一个非常庞大的跨国公司,在许多国家都设有它的下属分支机构或部门.为了让分布在世界各地的N个部门之间协同工作,公司搭建了一个连接整个公司的通信网络.该网络的结构由N个路由器和N-1条高 ...

  3. Shader剔除像素绘制扇形

    Shader "Custom/Indicator" { Properties { _MainTex("Main Texture", 2D) = "wh ...

  4. 编译linux kernel及制作initrd ( by quqi99 )

    编译linux kernel及制作initrd ( by quqi99 ) 作者:张华  发表于:2013-01-27    ( http://blog.csdn.net/quqi99 ) 运行一个l ...

  5. CSA Round 84 Mahattan Center

    题目 题目大意 给定平面上的 $n$ 个点和常数 $k$,求 $x$ 轴上的点 $p$ 到 $n$ 个点中距其最近的 $k$ 个点的距离之和的最小值.两点之间的距离定义为曼哈顿距离. 数据范围 $1\ ...

  6. POJ 2763 Housewife Wind(DFS序+LCA+树状数组)

    Housewife Wind Time Limit: 4000MS   Memory Limit: 65536K Total Submissions: 11419   Accepted: 3140 D ...

  7. [BZOJ1280][POJ1149]Emmy卖猪pigs

    [BZOJ1280][POJ1149]Emmy卖猪pigs 试题描述 Emmy在一个养猪场工作.这个养猪场有 \(M\) 个锁着的猪圈,但Emmy并没有钥匙.顾客会到养猪场来买猪,一个接着一个.每一位 ...

  8. [HNOI2007][bzoj1187] 神奇游乐园 [插头dp]

    题面: 传送门 给定一个四联通棋盘图,每个格子有权值,求一条总权值最大的回路 思路: 插头dp基础教程 棋盘? 回路? n,m<=10? 当然是插头dp啦~\(≧▽≦)/~ 然后发现这道题并不是 ...

  9. iOS-app发布证书和调试证书配置

    iOS-app发布证书.真机调试证书.测试证书.推送证书详细过程 更重要的是让你彻底明白为什么要这样配置证书 说句废话:凡事当你弄清楚为什么时,就揭开了它复杂和神秘的面纱 正文开始 一:发布证书 遵旨 ...

  10. BestCoder 2nd Anniversary/HDU 5719 姿势

    Arrange Accepts: 221 Submissions: 1401 Time Limit: 8000/4000 MS (Java/Others) Memory Limit: 262144/2 ...