MySQL大資料量的匯入與匯出

2021-07-27 17:03:53 字數 1127 閱讀 5421

如果要匯出資料庫中的一張表或幾張表而不是全部使用的命令是mysqldump.exe -umysql的使用者名稱 -pmysql的密碼 資料庫名 表名1 表名2 > 要儲存的路徑和檔案(資料庫名後加空格表名就可以了,有多張表的話使用空格隔開),例如執行mysqldump -uroot -proot demo users photo > f:/test.sql(意思是將demo資料庫下的user表和photo表匯出)。你可能要問如果要匯出多個資料庫呢。也有對應的命令:mysqldump -uroot -proot --databases ci demo > f:/test.sql(增加了--databases引數後面直接跟資料庫名空格隔開就可以了,想匯出幾個就匯出幾個資料庫)。

以上介紹的是windows平台下的匯出命令,在linux下也是一樣的道理,需要執行mysql安裝目錄下的mysqldump(注意:linux下沒有exe副檔名了),例如:

其他引數都是一樣的,這裡就不再贅述。

完成了匯出,我們再來看一下匯入,同樣因為phpmyadmin就是乙個php程式,在匯入sql指令碼的時候使用的是檔案上產的方式,能夠匯入的資料大小和php的環境有關,並且在匯入的時候有提示,比如我當前的php環境允許上傳的最大大小是10m:

雖然我們可以修改我們的php環境配置,但是如果我們要匯入的sql檔案很大,比如說幾百m,甚至上g大小,那麼就不可能使用此方式進行匯入了。同樣mysql為我們提供了命令列匯入,與匯出不同的是需要再命令列下登入mysql,在windows下登入mysql用到的可執行檔案是bin目錄下的mysql.exe,命令格式是mysql -u使用者名稱 -p密碼,例如mysql -uroot -proot,執行此命令後進入mysql的命令列介面,接下來執行以下命令:

1.設定編碼,否則可能出現亂碼。比如我們要匯入的sql檔案編碼是utf-8的則執行 set names utf8;(注:如果在sql指令碼中已經有選擇資料庫的命令,此命令可以不執行,當然執行了也沒有影響)

2.選擇資料庫,use 資料庫名,比如要匯入的資料庫名demo則執行 use demo;(注:如果在sql指令碼中已經有選擇資料庫的命令,此命令可以不執行)

3.這是比較關鍵的匯入環節執行source sql指令碼路徑和名字,例如source f:/a.sql

這樣sql指令碼就會被匯入了,如果是linux環境,也是同樣的方式,只是路徑不同而已。

php 大資料量匯出

之前的正常匯出,幾萬條資料就把記憶體擠爆了,優化了一下匯出方式,記憶體無壓力匯出速度槓槓的 會員時手機匯出 public function user outputexcel else count count data num 0 f null foreach this getcounts count...

大資料量mysql檔案匯入程式

phymyadmin data importer www.ebugs.org 用來快速mysql的大資料備份 使用前請首先按照 注釋修改要匯入的sql檔名 資料庫主機名 資料庫使用者名稱 密碼 資料庫名 同時將資料庫檔案和本文本一起ftp導 目錄,然後以web方式訪問此檔案即可 file name ...

sqlldr 匯入大資料量資料

最近在處理一些資料,資料量比較大的資料,記錄下使用方法和過程,以備日後檢視 如果使用insert插入超過1000條時間就有點長了 5 6分鐘 使用plsql的text import 匯入8萬條耐心等一會也可以忍受,但是我們要處理的是500萬條資料,嘗試了幾種方法,最後選擇了sqlldr 首先會有乙個...