MySQL备份和恢复具体实施
2019独角兽企业重金招聘Python工程师标准>>>
转载:http://www.linuxidc.com/Linux/2012-12/76257.htm
MySQL备份类别,参考笔者上篇文章MySQL备份类别 http://www.linuxidc.com/Linux/2012-12/76256.htm
冷备:
对于InnoDB存储引擎的冷备非常简单,只需要备份MySQL数据库的frm文件、共享表空间文件、独立表空间文件(*.ibd)、重做日志文件。--建议定期备份MySQL数据库的配置文件my.cnf
冷备的优点:
a) 备份简单,只要拷贝相关文件
b) 备份文件易于在不同操作系统,不同MySQL版本进行恢复
c) 恢复相当简单,只需要把文件恢复到指定位置即可
d) 恢复速度快,不需要执行任何SQL语句,也不需要重建索引
冷备的缺点:
a) InnoDB存储引擎冷备的文件通常比逻辑文件大很多,因为表空间中存放着数据,如Undo段,插入缓冲等信息
b) 冷备不总是可以轻易地跨平台。操作系统、MySQL的版本、文件大小写敏感和浮点数格式都会成为问题
逻辑备份:
mysqldump备份工具
mysqldump的语法如下:
shell>mysqldump [argument] > file_name
备份全部数据库,使用--all-database选项:
shell>mysqldump --all-databases > all.sql
备份指定的数据库,--database:
shell> mysqldump–database db1 db2 db3 > dump.sql
mysqldump一些重要参数选项:
--single-transaction:在备份开始前,先执行STARTTRANSACTION命令,以此来获得备份的一致性
--lock-tables(-l):在备份中,以此锁住每个架构下的所有表。一般用于MyISAM存储引擎,备份时只能对数据库进行读取操作,不过备份依然可以保证一致性。对于InnoDB不需要使用该参数,用--single-transaction即可,并且--lock-tables和--single-transaction是互斥的,不能同时使用。如果你的MySQL数据库中既有MyISAM存储引擎表,又有InnoDB存储引擎表,那么这时你的选择只有--lock-tables了。--lock-tables选项是依次对每个架构中的表上锁的,因此只能保证每个架构下表备份的一致性,不能保证所有架构下表的一致性。
--lock-all-tables(-x):在备份过程中,对所有架构中的所有表上锁
--add-drop-database:在createdatabase之前先运行drop database。这个参数需要和--all-databases或者--database选项一起使用
备份指定的表:
# mysqldump--single-transaction --socket=/var/run/mysqld/mysql5.socket test1 test1 >test1.sql
# cattest1.sql
-- MySQL dump 10.13 Distrib 5.1.61, for RedHat-linux-gnu (i386)
--
-- Host: localhost Database: test1
-- ------------------------------------------------------
-- Server version 5.5.20-ndb-7.2.5-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' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS,UNIQUE_CHECKS=0 */;
/*!40014 SET@OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE,SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES,SQL_NOTES=0 */;
--
-- Table structure for table `test1`
--
DROP TABLE IF EXISTS `test1`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `test1` (
`id`int(11) NOT NULL,
`name`varchar(10) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = @saved_cs_client*/;
--
-- Dumping data for table `test1`
--
LOCK TABLES `test1` WRITE;
/*!40000 ALTER TABLE `test1` DISABLE KEYS */;
INSERT INTO `test1` VALUES(1,'wu'),(2,'terry'),(3,'tang'),(4,'jack'),(4,'cat'),(3,NULL),(3,'dog');
/*!40000 ALTER TABLE `test1` ENABLE KEYS */;
UNLOCK TABLES;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SETFOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT*/;
/*!40101 SETCHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SETCOLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
转载于:https://my.oschina.net/chendongj/blog/648309
MySQL备份和恢复具体实施相关推荐
- MySQL 备份和恢复
MySQL 备份和恢复 本文讨论 MySQL 的备份和恢复机制,以及如何维护数据表,包括最主要的两种表类型:MyISAM 和 Innodb,文中设计的 MySQL 版本为 5.0.22. 目前 MyS ...
- MySQL备份和恢复:mysqldump工具用法详述
MariaDB/MySQL备份和恢复(一):mysqldump工具用法详述 分类: 数据库系列 本文原创地址在博客园:https://www.cnblogs.com/f-ck-need-u/p/901 ...
- mysql备份与恢复实验报告_实验报告六MYSQL备份和恢复.doc
实验报告六MYSQL备份和恢复.doc 班级:10应用 姓名:张红珍 学号:2010081133 指导老师:钟老师 实验六 MYSQL备份与恢复 实验平台:安装MYSQL数据库的PC 实验目的:1.熟 ...
- mysql备份与恢复 cat_MySQL备份和恢复具体实施
select - into outfile select..into语句也是一种逻辑备份的方法,或者更准确地说是导出一张表中的数据 SELECT [column 1],[column2] - INTO ...
- MySQL 备份和恢复策略
在数据库表丢失或损坏的情况下,备份你的数据库是很重要的.如果发生系统崩溃,你肯定想能够将你的表尽可能丢失最少的数据恢复到崩溃发生时的状态.本文主要对MyISAM表做备份恢复. 备份策略一:直接拷贝数据 ...
- MariaDB/MySQL备份和恢复(三):xtrabackup用法和原理详述
MariaDB/MySQL备份恢复系列: 备份和恢复(一):mysqldump工具用法详述 备份和恢复(二):导入.导出表数据 备份和恢复(三):xtrabackup用法和原理详述 xtrabacku ...
- MySQL备份和恢复数据表的方法(1)
备份是最简单的保护数据的方法,本节将介绍多种备份方法.为了得到一个一致的备份,在相关的表上做一个LOCK TABLES,你只需一个读锁定,当你在数据库目录中做文件的一个拷贝时,这允许其他线程继续查询该 ...
- mysql备份表恢复数据库_mysql备份恢复数据库据/表
备份单个数据库,只备份表,如要恢复,必须先创建一个数据库 [root@s]# mysqldump -u root -p dbname1 > dbname1.sql [root@s]# mysql ...
- MySQL备份,恢复方案,mysqlbinlog,mysqldump,主从,主主复制
DBMS数据库管理系统的三层模型:物理层,逻辑层以及视图层. 物理层:决定数据的存储形式. 逻辑层:是一张有一张的表,一行行的数据记录. 视图层:让用户看起来更方便,可有可无. 存储引擎:使逻辑层中s ...
最新文章
- 科普丨深度神经网络与生命的意义
- 面试题整理 4 合并两个排序的数组
- 最小圆覆盖(Smallest Enclosing Discs)
- android新闻app_如何利用 Python 爬虫实现给微信群发新闻早报?
- js加版本号 webpack_webpack脚手架增加版本号
- 平流式隔油池计算_隔油池计算方法及图集[参考提供]
- vc mysql query_我要使用mysql_query()这个函数,在VC中需要做什么工作?
- python数据展示的模块_python中使用mock模块返回数据
- 内核调试神器SystemTap — 更多功能与原理(三)
- sql查询时取日期部分内容(年月日时分秒)、增加时间
- C# 人民币大写金额转换
- sql server操作1:数据库及基本表的建立
- 263企业邮箱imap服务器,263企业邮箱支持IMAP邮箱搬家功能
- nb-lot plc python_你一定要了解的NB-IoT !
- 导入EXCEL数据更新access数据库里的信息
- 用本地播放器看直播,录制高清视频streamlink的使用
- 狂人社区_观看此狂人将软盘驱动器连接到他的Android手机
- 目录:名企笔试 + 算法题
- 推荐几本小说吧,反正过年闲着也是闲着,看看呗
- Java学习之路1——安装JDK1.8||安装idea2022||Java项目创建【重拾Java】
热门文章
- 微博第三方登录,获取用户信息(昵称、头像、地址等信息)
- NC6 颜色标识常量类
- 三星服务器nvme固态硬盘,自从有了三星NVMe SSD 970 EVO Plus之后
- wordpress响应式简洁扁平风格笑话段子博客主题柚子皮主题源码 星空资源网首发
- 独立式键盘实验c语言,单片机设计报告—独立式键盘控制的4级流水灯.doc
- Word打字时后面的字消失,怎么解决?
- 教程篇:《基础模块3》金蝶K3WISE15.0-账套管理;账套新增 删除 备份详细步骤
- 沟通的五个“魔法”技巧
- android 和 iphone x,我们第一时间试玩了三星 Galaxy S9,它是唯一匹敌 iPhone X 的 Android 旗舰...
- PDF文档过期时间/自毁设置/到期打不开