在MySQL中,使用基于语句的复制我假设每个SQL语句在从属服务器上执行的方式与在主服务器上完全相同.但是,当我运行语句时:
LOAD DATA INFILE 'filename' INTO SomeTable;
我不确定文件是否需要以与主服务器相同的方式存在于从服务器上.有人能指出我这个功能的文档吗?
您LOAD DATA INFILE
在主服务器上加载的文件似乎会通过复制日志从主服务器自动传输到从服务器.当从属文件到达LOAD DATA INFILE
基于语句的复制队列时,它会加载这些文件.
我从文档中的几个陈述中推断出这一点:
16.1:备份复制从站
如果您的MySQL服务器是从属复制服务器,那么无论您选择哪种备份方法,还应备份从属数据时备份master.info和relay-log.info文件.恢复从属数据后,始终需要这些文件来恢复复制.如果您的从服务器需要复制LOAD DATA INFILE命令,则还应备份可能存在于--slave-load-tmpdir选项指定的目录中的任何SQL_LOAD-*文件.
16.1.2.3:复制从属选项和变量
当从属SQL线程复制LOAD DATA INFILE语句时,它会将要从中继日志加载的文件提取到临时文件中,然后将这些文件加载到表中.如果主服务器上加载的文件很大,那么从服务器上的临时文件也很庞大.因此,建议使用此选项告诉从属服务器将临时文件放在位于具有大量可用空间的某些文件系统中的目录中.在这种情况下,中继日志也很庞大,因此您可能还希望使用--relay-log选项将中继日志放在该文件系统中.