2010-10-01 146 views

回答

0

這不是漂亮(因爲它只是分裂的大小,而不是對什麼是邏輯上的文件中),但你可以使用UNIX分割工具來實現這一點:

mysqldump mydb | split -b 100m mydbbackup 

確保檢查手冊頁對於拆分,您的副本可能會或可能不會接受100米大小的參數。有些需要以字節指定大小。

當您從文件中恢復時,您必須使用cat將它們全部重新組合在一起。

cat mydbbackup.1 mydbbackup.2 mydbbackup.3 | mysql 
+0

對不起,這不是我說的。我擁有的是250 MB文件,舊的主機上不再存在舊的數據庫。我們有一個新的主機,限制爲100 MB,所以我需要多個較小的文件,並從一個250 MB的文件創建它們...現在不能對mysqldump執行任何操作...除非在本地導入它,沒有限制,然後做一個mysqldump ...但cat'ing將無法正常工作。 – 2010-10-01 17:10:14

+1

@BrianTHannan您可以使用以下命令分割文件: 'split -l 5000 ./path/to/mysqldump.sql ./ mysqldump/dbpart -' 請參閱[http:// www。webmaster-source.com/2011/09/26/how-to-import-a-very-large-sql-dump-with-phpmyadmin/] – Robert 2015-02-20 08:58:34

2

您可以在Eclipse中拆分大文件。我已經在Windows嘗試了105GB文件成功:

就在MySQLDumpSplitter庫添加到您的項目: http://dl.bintray.com/verace/MySQLDumpSplitter/jar/

快速一份關於如何導入:

  • 在Eclipse中,右鍵單擊您的項目 - >導入
  • 選擇文件系統,然後下一頁
  • 瀏覽jar文件的路徑,然後按
  • 選擇(厚)的MySQLDumpSplitter.jar文件,然後完成
  • 它將被添加到您的項目,並顯示在在Package Explorer中的項目文件夾在Eclipse
  • 在Eclipse中的JAR文件(在Package Explorer中)
  • MySQL的轉儲文件分割贏雙擊打開dow,您可以指定轉儲文件的地址,然後繼續拆分
0

您可以使用mysql_export_explode https://github.com/barinascode/mysql-export-explode

<?php 
#Including the class 

include 'mysql_export_explode.php'; 
$export = new mysql_export_explode; 

$export->db = 'dataBaseName'; # -- Set your database name 
$export->connect('host','user','password'); # -- Connecting to database 
$export->rows = array('Id','firstName','Telephone','Address'); # -- Set which fields you want to export 
$export->exportTable('myTableName',15); # -- Table name and in few fractions you want to split the table 
?> 

At the end of the SQL files are created in the directory where the script is executed in the following format 
--------------------------------------- 
myTableName_0.sql 
myTableName_1.sql 
myTableName_2.sql 
... 
+1

請不要複製和粘貼完全相同的[答案](http: //stackoverflow.com/a/35531751/189134)到多個問題。每個答案都應該定製以回答被問到的問題,而不是提供通用的複製/粘貼。 – Andy 2016-02-21 04:10:03

相關問題