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