14,953
edits
| Line 401: | Line 401: | ||
* [http://wiki.navicat.com/wiki/index.php/Error_2003 錯誤 2003 - Navicat Wiki] | * [http://wiki.navicat.com/wiki/index.php/Error_2003 錯誤 2003 - Navicat Wiki] | ||
* [http://faq.webyog.com/content/23/15/en/error-no-2003-can_t-connect.html SQLyog MySQL 管理員常見問答 - 錯誤號 2003: 無法連接...] | * [http://faq.webyog.com/content/23/15/en/error-no-2003-can_t-connect.html SQLyog MySQL 管理員常見問答 - 錯誤號 2003: 無法連接...] | ||
=== 錯誤 2013: 在查詢過程中與 MySQL 伺服器失去連接 === | |||
訊息:錯誤代碼:2013。在查詢過程中與 MySQL 伺服器失去連接 | |||
情況:在執行包含超過 1,000,000 行的下列查詢後,我遇到了 '錯誤代碼:2013。在查詢過程中與 MySQL 伺服器失去連接' 的錯誤訊息。 | |||
<pre> | |||
INSERT IGNORE INTO `target`.`table` SELECT * FROM `source`.`table`; | |||
</pre> | |||
解決方案: | |||
* 在 [https://www.mysql.com/products/workbench/ MySQL Workbench] 上增加 (1) '''資料庫連接保持活躍間隔(秒)''' 和 (2) '''資料庫連接讀取超時(秒)''' 的設定 <ref>[http://stackoverflow.com/questions/16877574/how-can-i-execute-sql-queries-that-take-longer-99-999-seconds-on-mysql-workbench 如何在 MySQL Workbench 上執行超過 99,999 秒的 SQL 查詢 - Stack Overflow]</ref><ref>[http://stackoverflow.com/questions/10563619/error-code-2013-lost-connection-to-mysql-server-during-query 錯誤代碼:2013。在查詢過程中與 MySQL 伺服器失去連接 - Stack Overflow]</ref>。修改設定後請重新啟動 MySQL Workbench。例如,預設的 '''資料庫連接讀取超時(秒)''' 設定為 30 秒,你可以增加到 6000 秒(100 分鐘)。 | |||
* 減少行數以縮短執行時間 (1) 使用 {{kbd | key=LIMIT}} 子句 (2) 或分割查詢大小,例如 {{kbd | key=<nowiki>MOD(column, 2) = 0</nowiki>}} 和 {{kbd | key=<nowiki>MOD(column, 2) > 0</nowiki>}},如果欄位是數字的話。 | |||
<pre> | |||
INSERT IGNORE INTO `target`.`table` SELECT * FROM `source`.`table` LIMIT 0, 10000; | |||
</pre> | |||
== 資源和環境錯誤 == | == 資源和環境錯誤 == | ||