2011-06-03 51 views
1

我試圖將我的數據庫移動到另一個服務器。將PHP插入從PHPmyAdmin分解到Adminer

我的Adminer具有2MB的SQL最大轉儲(上傳)限制。
我目前有一張大約10MB的表。

我想知道我可以採取什麼辦法拆分這10MB表(或修改轉儲文件),以便通過Adminer導入它。

+1

這張大桌子有什麼獨特的鑰匙?最好的方法是獲得該表的大塊,但知道如何分解它會很有用。 – paulmorriss 2011-06-03 11:18:23

+0

表的唯一鍵只是ID。表格中的數據是頁面。每個頁面都來自一本書,所以我在數據庫中擁有約5,000本書,可能約有10萬多頁。 – Anraiki 2011-06-03 17:37:47

回答

7

有以下選項:

  • 通過FTP上傳文件爲adminer.sql(或adminer.sql.gz),然後運行它from server
  • Gzip或Bzip2文件 - 也許它可以擠在2 MB。
  • 增加PHP限制 - upload_max_filesizepost_max_size
  • 按部件導出表 - 限制結果集並從select中導出。
+0

@Araraiki - 這裏的最後一個選項是我正在考慮的那個。以1000本書的組合導出表格。 – paulmorriss 2011-06-06 07:44:51

+0

@JakubVrána您可以添加Adminer找到adminder.sql文件的路徑嗎?我無法確定它,並且總是給我一個「找不到文件」的錯誤。它是webroot嗎?與adminer相同的目錄安裝? – nerdoc 2015-08-26 22:14:59

+0

這是Adminer所在的目錄。 – 2017-02-16 10:43:15

0

如果您的database.sql.gz文件位於服務器或其他位置,則可以使用以下方法導入它。

$ zcat import_file.sql.gz | mysql -uroot -p database_name 

它會問你輸入你的SQL密碼,然後你就完成了。如果database_name閃存錯誤,那麼只需在「adminer」中手動創建database_name然後導入。它將100%確定地工作。