Documentation Home
MySQL 8.4 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 39.8Mb
PDF (A4) - 39.9Mb
Man Pages (TGZ) - 257.9Kb
Man Pages (Zip) - 364.9Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


19.5.1.19 复制和LOAD DATA

LOAD DATA 在语句基于的日志记录中被认为是unsafe(见第19.2.1.3节,“确定安全和不安全的语句在二进制日志记录中”)。当binlog_format=MIXED设置时,该语句将以行格式记录。当binlog_format=STATEMENT设置时,注意LOAD DATA不生成警告,除非其他不安全语句。

如果您使用LOAD DATAbinlog_format=STATEMENT,每个要应用更改的副本都创建一个临时文件,包含数据。然后,该副本使用LOAD DATA语句应用更改。这临时文件不加密,即使在源端启用了二进制日志加密。如果加密是必要的,使用行格式或混合二进制日志格式,而不是副本创建临时文件。

如果FILE权限已经用于帮助保护复制通道(见第19.3.3节,“复制权限检查”),强烈建议您使用行格式二进制日志记录LOAD DATA操作。 如果binlog_format=ROW设置为通道,行格式二进制日志记录是必需的。使用该记录格式时,不需要为事件授予FILE权限,因此不要将FILE权限授予PRIVILEGE_CHECKS_USER账户。如果您需要从复制错误中恢复LOAD DATA INFILE操作,且复制事件被信任,您可以临时授予FILE权限给PRIVILEGE_CHECKS_USER账户,待复制事件被应用后删除该权限。

mysqlbinlog读取以语句形式记录的LOAD DATA语句时,会在临时目录中创建一个生成的本地文件。这些临时文件不会被mysqlbinlog或任何其他MySQL程序自动删除。如果您使用语句形式的二进制日志记录LOAD DATA语句,您应该在不再需要语句日志时自己删除临时文件。更多信息,请见第6.6.9节,“mysqlbinlog — Utility for Processing Binary Log Files”