我要在命令行上导入一个5 GB的表:
mysql -u dbuser -p customersdb < transactions.sql
之前我导入了一个2GB的文件,导致复制滞后很长一段时间。反正有没有避免这里?不知怎的,在每几千次进口后添加超时在我看来似乎是理想的。
我已经尝试使用Google搜索,但似乎并不常见这个用例。
编辑:此外,是否还有监控导入的进度?
答案 0 :(得分:1)
导致延迟的问题是从属线程默认是单线程的。所有操作 - 包括导入操作和其他操作 - 都发生在一个队列中。
从MySQL 5.6开始,您可以通过设置slave_parallel_workers
选项在那里使用多线程。使用MySQL 5.6,这将分配来自不同模式的操作,5.7也可以在单个模式中进行并行化。
请参阅https://dev.mysql.com/doc/refman/5.6/en/replication-options-slave.html#sysvar_slave_parallel_workers