使用 LOAD DATA INFILE 在 mysql 中加载数据,复制安全吗?

bon*_*ond 3 mysql replication import csv

我正在尝试将数据以 CSV 文件形式加载到 mysql 数据库中。我发现我们可以使用 LOAD DATA INFILE 命令来做到这一点。但根据 mysql 文档,它不是复制安全的。(见这里

有没有比通过应用程序更好的方法来做到这一点?

Mic*_*bot 5

另一个答案已被接受,但我不同意该答案,因为您的问题首先需要了解术语“不安全”的含义以及与 MySQL 复制相关的使用时“被认为不安全”的含义。

当谈到 MySQL Replication 中语句的“安全性”时,我们指的是是否可以使用基于语句的格式 正确复制语句及其效果http://dev.mysql.com/doc/refman/5.5/en/replication-rbr-safe-unsafe.html(强调)

当您使用MIXEDor ROW-based 复制时,没有“不安全”语句之类的东西,因为“不安全”的整个前提与基于语句的日志记录和复制的工作方式有关。

“被认为不安全”的事情并不意味着它不应该做——这意味着优化器会认为以基于语句的模式登录是不安全的,因此它将使用基于行的复制日志格式自动复制如果行-based 日志是可用的——也就是说,如果你没有使用binlog_format= STATEMENT——除非你有特定的理由使用它,否则你不应该这样做。如果您不知道使用它的特定原因,那么您很可能没有,您应该使用MIXED日志记录,以便优化器可以选择如何复制每个语句。

http://dev.mysql.com/doc/refman/5.5/en/replication-formats.html