MySQL数据库管理员系统学习(16)mysql的mysqldump的的备份

Mysql 路人甲 209℃ 0评论

MySQL的数据库的备份恢复

mysqldump的备份数据库

-B,–databases转储几个数据库。注意在使用差; 在

这种情况下,没有表中给出。所有名称参数都

被视为数据库名称。“使用DB_NAME;’ 将会

包括在输出。

-e,–extended插入

使用多行INSERT语法包括几个

VALUES列表。多行插入数据

为了保证数据的一致性,我们要把表锁起来在转储

-F,–flush-日志刷新日志开始转储前在服务器上的文件。注意

如果一次转储多个数据库(使用选项

–databases =或 – 全数据库),日志会

冲洗转储每个数据库。唯一的例外是当

使用–lock-ALL-tables或–master数据:在这种情况下,

日志将被刷新一次,对应于该

那一刻所有的表都被锁定。所以,如果你希望你的转储

并刷新日志在相同的确切时刻你碰巧

应该使用–lock-ALL-tables或–master数据与

–flush-日志。

 

-x,–lock-全表

锁定所有数据库中的所有表。这实现

通过采取全局读锁的时间

整个转储。自动关闭–single-交易,

–lock桌了。

-l,–lock-tables锁定读所有表。

–master数据[=#]这将导致二进制日志的位置和文件名是

附加到输出。如果等于1,将打印它作为一个

CHANGE MASTER命令; 如果等于2,该命令将

可以用一个注释符号前缀。此选项将变为

–lock-全表,除非–single-交易

太指定(在这种情况下,全局读锁定仅

在转储开始时采取了很短的时间; 别

忘记阅读有关–single事务下文)。在所有

的情况下,对日志的任何行动将发生在确切时刻

的转储。选项自动–lock桌

关闭。

-t,–no创建-INFO

不要写创建表的信息。

-d,–no数据无行的信息。

-N,–no-设置名称禁用SET NAMES语句

–opt同–add降表,–add锁,–create选项,

–quick,–extended插入,–lock桌,–set-字符集,

和–disable-键。默认情况下启用,禁用与

–skip-选择。

-q,–quick不缓冲查询,直接转储到标准输出。不缓存

-R,–routines转储存储程序(函数和过程)。

–single事务

通过在倾倒的所有表创建一个一致的快照

单成交。仅适用于存储在表

存储引擎支持多版本(目前为

只有InnoDB执行); 转储是不能保证

对于其它存储引擎是一致的。虽然

–single事务转储过程,以确保

有效的转储文件(正确的表的内容和二进制日志

位置),没有其他的连接应使用以下

声明:ALTER TABLE,DROP TABLE,重命名表,

TRUNCATE表,一致的快照并不是孤立

从他们。选项自动关闭–lock-表。

自卸日期将转储日期到输出的结尾。

–skip-选择禁用–opt。禁用–add降表,–add锁,

–create选项,–quick,–extended插入,

–lock桌,–seT-字符集,以及–disable-键。

实践之非事务性一直备份(备份期间数据库不可写)

MySQL的“使用试验

MySQL的“创建表TT(ID INT,VARCHAR名(12));

查询确定,受影响的0行(0.11秒)

MySQL的“插入TT值(1,’ZZ’);

查询行,1行受影响(0.01秒)

MySQL的“插入TT值(2,’YY’);

查询行,1行受影响(0.00秒)

[根@ TEST4桌面]#mysqldump的–databases测试–skip-OPT –quick –extended插入=假–lock-全表–master数据= 2 -u根-p123456>的/ tmp / TEST.SQL

这就是转储的结果

1
2
3
4
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
三十
31
32
33
34
35
36
37
38
39
40
41
42
[根@ TEST4桌面]#猫/tmp/test.sql
- MySQL的转储10.13   DISTRIB 5.1 70 未知Linux的GNU下(x86_64)
-
- 主机:本地主机数据库:测试
- ------------------------------------------------ ------
-服务器版本   5.1 70 -log
/ * 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 * / ;
-
-位置,开始复制或点- 距离-时间恢复
-
- CHANGE MASTER TO MASTER_LOG_FILE = 'mysqlbin.000166' ,MASTER_LOG_POS = 798 ;
-
- 当前数据库:`test`
-
CREATE DATABASE / * 32312 IF NOT EXISTS * /! `test` / * 40100默认字符集UTF8 * /!;
使用`test`;
-
-表结构 表`tt`
-
/ * 40101 SET @saved_cs_client = @@ character_set_client字符* / ;
/ * 40101等价:character_set_connection = UTF8 * / ;
CREATE TABLE`tt`(
  `id` INT 11 )DEFAULT NULL,
  `name` VAR CHAR(12 )DEFAULT NULL
);
/ * 40101等价:character_set_connection = @saved_cs_client * / ;
-
-转储数据 表`tt`
-
INSERT INTO`tt` VALUES(1 , 'ZZ' );
INSERT INTO`tt` VALUES(2 , 'YY' );
/ * 40103 SET TIME_ZONE = @ OLD_TIME_ZONE * / ;
/ * 40101 SET SQL_MODE = @ OLD_SQL_MODE * / ;
/ * 40014 SET FOREIGN_KEY_CHECKS = @ OLD_FOREIGN_KEY_CHECKS * / ;
/ * 40014 SET UNIQUE_CHECKS = @ OLD_UNIQUE_CHECKS * / ;
/ * 40111 SET SQL_NOTES = @ OLD_SQL_NOTES * / ;
-卸载完成2013 - 09 - 05 20 15 38

由于我们dump的时候用了master-data参数,这个时候记录了日志位置和日志文件名

- CHANGE MASTER TO MASTER_LOG_FILE = 'mysqlbin.000166' ,MASTER_LOG_POS = 798 ;

实践之事务性一直备份(备份期间数据库可写)

MySQL的“使用试验

MySQL的“创建表TT(ID INT,VARCHAR名(12))引擎InnoDB的=;

查询确定,受影响的0行(0.11秒)

MySQL的“插入TT值(1,’ZZ’);

查询行,1行受影响(0.01秒)

MySQL的“插入TT值(2,’YY’);

查询行,1行受影响(0.00秒)

[根@ TEST4桌面]#mysqldump的–databases测试–skip-OPT –quick –extended插入= FALSE  –single事务   –master数据= 2 -u根-p123456> /tmp/test.sql

本文出自“ 好好活着 ”博客,谢绝转载!

分享是种美德:运维博客 » MySQL数据库管理员系统学习(16)mysql的mysqldump的的备份

喜欢 (0)or分享 (0)
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址