2014-01-19 30 views
0

我使用的Xcode 3.2.1(我是雪豹因爲某些原因)與MySQL:SIGPIPE大跌超過4MB

  • 服務器版本:5.6.15 MySQL社區服務器(GPL)+
  • MySQL的連接器-C-6.1.3-osx10.6-x86_64的

我傳遞請求以MYSQL_QUERY()如下。

// mysql request 
request = [NSString stringWithFormat:@"UPDATE consult SET summary='%@', pheno='%@' WHERE idConsult=%@", sum, phe, idc]; 

if (mysql_query(mysqlCnx,[request UTF8String])) { 
    db_finish_with_error(mysqlCnx); 
} 

當請求大小大於4MB比較多,我得到以下堆棧跟蹤一個SIGPIPE:

#0 0x7fff896d791e in sendto 
#1 0x100065a92 in vio_write 
#2 0x10004d2a2 in net_write_packet 
#3 0x10004d3ac in net_write_buff 
#4 0x10004d6e2 in net_write_command 
#5 0x100048e3c in cli_advanced_command 
#6 0x100046bdd in mysql_real_query 
#7 0x1000093f9 in -[ConsultList mysqlUpdateResumePhenoFields:] at ConsultList.m:163 
4#8 0x10000a565 in -[ConsultList okConsult:] at ConsultList.m:367 

任何已知問題?

+0

這讓我在Xcode 6和斯威夫特 - 但當然這個錯誤並不依賴於:-) –

回答

1

這裏是解決辦法:

/etc/my.cnf 
[mysqld] 
max_allowed_packet=120M 

as root : 
chown 644 /etc/my.cnf 

mysql> set global max_allowed_packet = 125829120; 
Query OK, 0 rows affected (0,00 sec) 

mysql> show variables like 'max_allowed_packet'; 
+--------------------+-----------+ 
| Variable_name  | Value  | 
+--------------------+-----------+ 
| max_allowed_packet | 125829120 | << 120MB ! 
+--------------------+-----------+