17.1.1.6 Creating a Data Snapshot Using Raw Data Files 创建一个数据快照使用 Raw Data Files

17.1.1.6 Creating a Data Snapshot Using Raw Data Files  创建一个数据快照使用 Raw Data Files 


如果数据库是大的, 复制raw 数据文件可以变的更加有效相比使用mysqldump 和导入文件在每个slave上。


这个即使跳过更新索引的负载



使用这种方法 表在存储引擎具有复杂的caching和logging 算法需要额外的步骤来产生一个完全的时间点快照。


初始的copy命令需要留下cache信息和记录更新,即使你需要的一个全局的读锁,


然而存储引擎响应这个需要他的crash recovery 能力


这个方法 不能可靠工作 如果master 和slave 有不同的值 对于r ft_stopword_file, ft_min_word_len, or ft_max_word_len 


如果你使用InnoDB 表,你可以使用mysqlbackup 命令来产生一个一致性备份。

这个命令记录log name和偏移量 随后在slave上使用。


否则,使用cold backup 技术来得到一个可靠的2进制快照,复制所有的数据文件在做一个slow shutdown 后



创建一个新的MyISAM tables的一个raw 数据快照,你可以使用标准copy 工具比如cp或者copy,


一个远程copy 工具比如scp或者rsync,一个规定工具比如 zip or tar, 或者一个文件系统快照工具比如dump,


MySQL 数据文件存在一个单独的文件系统,如果你是只复制某个数据库,只需要拷贝那边表相关的文件

(对于InnODB,所有的表在所有的数据库是存在 system tablespace files, 除非你启用innodb_file_per_table option enabled.) 


你可能需要制定排除下面的文件从你的归档:


1.mysql 数据库文件相关的

2.The master info repository file, i

3.master的binary log 文件

4.任何relay log 文件


要获得最一致状态的raw data 快照, 关闭master server 如下:

1.需要一个read lock得到master 的状态信息

2.在一个单独的session,关闭master server

posted @ 2016-11-14 15:32  czcb  阅读(129)  评论(0编辑  收藏  举报