2014-09-04 41 views
0

雖然在遠程服務器上導入完整的數據庫:mysql -h foo < dump_file.sql,它返回ERROR 1153 ...得到了比「max_allowed_pa​​cket個」字節更大的數據包。但是我沒有該服務器上的管理員權限來更改my.cnf設置。該限制爲16MB導入DB與`max_allowed_pa​​cket`限制問題,並沒有管理權限

我試圖優化轉儲像以下,無果而終:

mysqldump --skip-extended-insert --net_buffer_length=10000 DATABASE_NAME > dump_file.sql 

難道會有所幫助使用LOAD DATA INFILE是否有任何可能的語法來使用它,而無需指定INTO TABLE ...?

LOAD DATA INFILE dump_file.sql 

或者任何其他方式來解決這個問題?

編輯:前面的問題問:

我在哪裏改max_allowed_pa​​cket的是能夠導入轉儲? 還有什麼我應該設置?

當我只知道在哪裏改變max_allowed_packet,但我沒有足夠的權利去做。

所以我特意問如何與CLI只做到這一點,如果這將是有益的或不於我而言,這是不是在所有的其他問題,使用LOAD DATA INFILE。無論重複與否,我都得到了解決問題的答案。

+0

@ l0b0類型的欺騙是的,但我已經閱讀了這個答案,它給出了一個管理員的解決方案,這就是爲什麼我指定*沒有管理員訪問*的標題。事實上,看起來我不能在不更改服務器配置的情況下做到這一點,但是我問,因爲我想/需要確定:) – Kojo 2014-09-04 12:39:42

+0

好吧,如果他們說[「您必須爲客戶端和守護程序更改它mysqld server「](https://stackoverflow.com/a/722656/96588),這很清楚... – l0b0 2014-09-04 14:11:29

+0

是@ l0b0,謝謝。但@Giles選項'--max_allowed_pa​​cket = 16M'被添加到另一組選項'--skip-extended-insert --net_buffer_length = 10000'中。我在不改變服務器配置的情況下設法解決了這個問題;-)對於我當前的開發人員來說,非常開心 – Kojo 2014-09-04 14:56:44

回答

2

mysqldump還允許爲此參數 - 嘗試將--max_allowed_pa​​cket = 16M添加到您的轉儲命令。