Linux 大資料庫匯出大檔案統計並去重

2022-01-30 18:40:34 字數 1050 閱讀 7374

1. 把資料庫表匯出到文字檔案中

mysql -h主機 -p埠 -u使用者 -p密碼 -a 資料庫 -e "select email,domain,time from ent_login_01_000" > ent_login_01_000.txt

總共要統計最近3個月的登陸使用者 , 按月份分表,並且每月有128張表 , 全部匯出到檔案中 , 總共有80g

2. grep 查出所有的2018-12 2019-01 2019-02

find ./ -type f -name "ent_login_*" |xargs cat |grep "2018-12" > 2018-12.txt

find ./ -type f -name "ent_login_*" |xargs cat |grep "2019-01" > 2019-01.txt

find ./ -type f -name "ent_login_*" |xargs cat |grep "2019-02" > 2019-02.txt

3.使用awk  sort 和 uniq 只取出前面的使用者 , 並且先去一下重複行

cat 2019-02.txt|awk -f " " ''|sort -t /mnt/public/phpdev/187_test/tmp/|uniq > 2019-02-awk-sort-uniq.txt

cat 2019-01.txt|awk -f " " ''|sort -t /mnt/public/phpdev/187_test/tmp/|uniq > 2019-01-awk-sort-uniq.txt

cat 2018-12.txt|awk -f " " ''|sort -t /mnt/public/phpdev/187_test/tmp/|uniq > 2018-12-awk-sort-uniq.txt

uniq 只去除連續的重複行 , sort可以把行排成連續的 -t是因為預設占用/tmp的臨時目錄 , 根目錄我的不夠用了,因此改一下臨時目錄

這幾個檔案占用了100多g

C 大檔案大資料量匯入sql資料庫

最近,需要做個功能,從大檔案 7百萬 行 中匯入資料到資料庫。由於資料檔案和db不在同台伺服器上,因此不太方便用bulk insert 這種超 語句。怎麼辦呢,呼叫儲存過程一條一條導 or 拼湊insert語句一次匯入多條?前者肯定不現實的,後則經測試效果也極其不佳 每次匯入2w條,大致需要45分鐘...

Linux匯出資料庫資料

匯出完整資料 表結構 資料 linux 下可以使用 mysqldump 命令來匯出資料庫,語法格式如下 mysqldump u使用者名稱 p 資料庫名 資料庫名.sql以下命令可以匯出 abc 資料庫的資料和表結構 usr local mysql bin mysqldump uroot p abc ...

linux上資料庫sql檔案的匯出

1.mysql 首先通過whereis mysql 命令查詢mysql資料庫的安裝檔案的位置,進入檔案目錄 然後執行匯出命令,mysqldump uroot p cims cims.sql,cims為資料庫名稱,cims.sql即為匯出的資料庫檔案 2.oracle 首先切換使用者 su oracl...