MySQL查询被杀 - 如何防止?

Elm*_*lmi 1 mysql sql linux bash

我正在从bash shell运行mysql-query,它应该将结果写入文件.看起来像这样(简化了一点):

   mysql -uname -ppwd wmap -e "select netpoints.bssid,netpoints.lat,netpoints.lon from netpoints,users WHERE ((users.flags & 1 = 1) AND users.idx=netpoints.userid) OR (netpoints.source=5);" >db/db.csv
Run Code Online (Sandbox Code Playgroud)

查询本身是正常的,并且工作正常,但直到某段时间脚本执行失败

   line 1: 11427 Killed 
Run Code Online (Sandbox Code Playgroud)

那么......我怎样才能避免查询以这种方式终止?结果将是一个很大的数据量,并且查询需要很长时间才能执行,但只要会有结果就可以了.

(将命令和错误消息添加到代码标记中)

nos*_*nos 6

默认情况下,整个结果集将在内存中获取.如果这变得太多,mysql客户端将被杀死.您可以使用--quick选项启动mysql客户端以防止这种情况:

   mysql --quick -uname -ppwd wmap -e  ... 
Run Code Online (Sandbox Code Playgroud)