这就是错误发生的原因——我使用 MySQL shell 导入了一个 16G .sql 文件,其中包含使用 source 命令和优化的多个表(作为这个问题的第一个解决方案,最大值在 MySQL文档中指示)。导入似乎已经进行了一段时间,然后我在三天后检查时收到ERROR 2006: Server has gone away 。它似乎发生在向已经插入了成百上千行的表中插入行的过程中。
我重新启动了服务器,想从导入中断的地方继续,这样我就不必重复所有的工作并且可能遇到同样的问题,并且在尝试以下选项时卡住了 -
通过日志查找问题所在。由于我没有启动错误日志(参考这里),我寻找二进制日志。SHOW BINARY LOGS 命令显示了文档中所说的列表日志,但我无法查看日志本身,所以我无法弄清楚哪里出了问题。
insert-ignore - 这个问题我试过第一种和第二种解决方法import mysql data interrupted,怎么恢复?但是当我尝试引用外部驱动器上的 .sql 文件的完整路径时,不断出现语法错误。
寻找与 source 命令一起使用的插入忽略选项,我已经使用它导入了几个较小的大型 .sql 文件,但到目前为止还没有找到它。
使用 MySQL WorkBench 运行 .sql 文件的片段 - 它有几个小时没有响应,最终加载了一个空白窗口。我还尝试使用 NotePad、ATOM 和 Sublime 打开 .sql 文件,它们都没有加载。
我最后的手段是将 .sql 文件分解为片段,然后将可能数百条语句复制并粘贴到 MySQL shell 中,但我希望我不必去那里。
有什么建议吗?我正在使用 MySQL 社区 8.0 版......而且我是一个 SQL 新手,所以可能会遗漏一些非常明显的东西。先谢谢了!</p>
编辑-在 2)- 重新阅读查询文档后,弄清楚语法如何在 INSERT-IGNORE 中使用完整路径。但是随后 LOAD DATA 命令具有我可能无法满足的目录和唯一键约束。