MySQL: mysqlimport 中缺少一些记录

MySQL: Missing some records in mysqlimport

我正在将包含大量记录的数据导入 InnoDB table。命令 mysqlimport 表示已成功导入,如下所示。我在一个空 table.

上导入数据
C:\xampp\mysql\bin>mysqlimport.exe --fields-terminated-by=',' 
--columns="invoice_id,customername,department,city" --local -u root -p invoice11954 "c:954\invoice.txt"

Enter password:
invoice11954.invoice: Records: 1540252  Deleted: 0  Skipped: 0  Warnings: 0

但是当我检查 table 发票中的记录数时,我只看到 1534408 条记录。我截断了 table 并一次又一次地重新导入。记录计数总是不匹配,记录的差异并不总是恒定的。

是不是跟我的配置有关?我为配置赋予了很高的价值,但仍然没有运气。

# The MySQL server
[mysqld]
port= 3306
socket = "C:/xampp/mysql/mysql.sock"
basedir = "C:/xampp/mysql" 
tmpdir = "C:/xampp/tmp" 
datadir = "C:/xampp/mysql/data"
pid_file = "mysql.pid"
# enable-named-pipe
key_buffer = 32M
max_allowed_packet = 32M
sort_buffer_size = 1024K
net_buffer_length = 16K
read_buffer_size = 512K
read_rnd_buffer_size = 1024K
myisam_sort_buffer_size = 16M
log_error = "mysql_error.log"

[mysqldump]
quick
max_allowed_packet = 128M

我的配置没有这个部分[mysqlimport]

谁能帮我看看这里出了什么问题。

您如何检查 invoices table 中的 "count of records"?显然,我们假设您正在执行这样的 SQL 语句:

SELECT COUNT(*) FROM invoice ;

并且您不依赖 information_schema.tables 中的估计行数来为您提供精确计数。


问题的当前形式中没有足够的信息来为您观察到的行为提供答案。正如我在评论中指出的那样,尚不清楚 table 是否有任何独特的约束,是否指定了 --replace--ignore 选项,因为我们没有看到命令您是 运行,my.cnf 文件的 [mysqlimport] 部分,或者您如何在 table 加载后检查行数。