标签:markdown top 服务 文件 sts ack 加锁 结果 mysql存储引擎
在mySQL里面,有逻辑备份和物理备份。逻辑备份最大长处是对于各种存储引擎,都能够使用相同的方法来备份。
而物理备份则不同。不同的存储引擎有着不同的备份方法。
在MySQL中逻辑备份是使用mysqldump将数据库中的数据备份为一个文本文件,备份的文件能够被查看和编辑。依照备份范围,能够将备份分为下面三种备份。
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存储引擎备份原理就是将要备份的表加读锁,然后在cp数据文件到备份文件夹。经常用法
锁定全部表flush tables with read lock;
正在学习中···
-- 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
标签:markdown top 服务 文件 sts ack 加锁 结果 mysql存储引擎
原文地址:http://www.cnblogs.com/clnchanpin/p/7226126.html