mysql csv 使用例項

2021-06-03 15:15:39 字數 3366 閱讀 1935

svn checkout svn: mysqlcsv-code

安裝修改cflags ldflags

以下是makefile:

cc=gcc

#cflags+=-g -wall -o2 -d_largefile64_source=1 -d_file_offset_bits=64 -i/usr/include/mysql

cflags=-g -wall -o2 -i/usr/include/mysql

#ldflags=-l/usr/lib/mysql

ldflags=-l/usr/lib64/mysql

ldflags+=-lmysqlclient -lpcre

destdir=

prefix=

bin=$(prefix)/usr/bin

all:mysqlcsv

install-strip: install

strip $(destdir)/$(bin)/mysqlcsv

install:all

install -d $(destdir)/$(bin)

install -s -m 755 mysqlcsv $(destdir)/$(bin)/mysqlcsv

uninstall:

rm -f $(destdir)/$(bin)/mysqlcsv

common.o: common.c

mysqlcsv.o: mysqlcsv.c

test.o: test.c

test: common.o test.o

mysqlcsv: common.o mysqlcsv.o

clean:

rm -f *.o *.gch

rm -f mysqlcsv

#make prefix=/opt/mysqlcsv/  

install

備份:

# mkdir -p /data/csv/admin2

# mysqlcsv -d --default-character-set=utf8 -d /data/csv/admin2 -a -g --master-data -h ***.***.***.*** -p 3306 -u'username' -p'password' --ignore-database mysql --ignore-database test --ignore-table admin_***_com.***x -v --quick -c

[root@***xx ~]# ls /data/csv/admin2/ -lh

總用量 28k

drwxr-xr-x 2 root root  12k  2月  1 13:01 admin_***_com

-rw-r--r-- 1 root root   92  2月  1 12:49 admin_***_com.frm.gz

drwxr-xr-x 2 root root 4.0k  2月  1 16:53 check_***_com

-rw-r--r-- 1 root root  102  2月  1 13:01 check_***_com.frm.gz

-rw-r--r-- 1 root root   78  2月  1 12:49 master_status.sql.gz

引數說明:

-d 開啟dump功能

--default-character-set=name 設定dump編碼,同mysqldump中相應引數,注意此選項決定了dump出的csv檔案編碼

-d,--dump-directory=path csv輸出檔案目錄

-a,--all-databases  dump所有的庫

--ignore-database=name   排除庫,支援多個

--ignore-table=name  

排除表,支援多個,支援(庫名.表名)

--databases-pcre=string  排除所有不匹配的庫

--tables-pcre=string  

排除所有不匹配的表

-g,--gzip  以gzip壓縮格式儲存並給檔名新增(.gz)字尾

-h,--host=string 同mysqldump

-u,--user=string  

同mysqldump

-p,--password=string 同mysqldump

-p,--port=string 同mysqldump

-s,--socket=string 同mysqldump

--quick 同mysqldump,不快取查詢集,如果不加此選項對於比較大的表可能導致記憶體不足

-c,--compress 同mysqldump,壓縮傳輸

--master-data 記錄master pos資訊到master_status.sql(.gz)中,執行flush tables with read lock

匯入:# mysqlcsv -i --default-character-set=utf8 -d /data/csv/admin2 -a -g --master-data -h ***.***.***.*** -p 3306 -u'username' -p'password' --ignore-database mysql --ignore-database test --ignore-table admin_***_com.***x -v -c

引數說明:

-i 開啟import功能

--default-character-set=name 設定dump編碼,同mysqldump中相應引數,注意此選項必須與csv檔案編碼一致

-d,--import-directory=path csv匯入檔案目錄

-a,--all-databases  import目錄下所有的庫

--ignore-database=name   排除庫,支援多個

--ignore-table=name  

排除表,支援多個,支援(庫名.表名)

--databases-pcre=string  排除所有不匹配的庫

--tables-pcre=string  

排除所有不匹配的表

-g,--gzip  以gzip壓縮格式儲存並給檔名新增(.gz)字尾

-h,--host=string 同mysqldump

-u,--user=string  

同mysqldump

-p,--password=string 同mysqldump

-p,--port=string 同mysqldump

-s,--socket=string 同mysqldump

--ignore 跳過重覆記錄,設定不設定效果一樣

--replace  

替換重覆記錄

-c,--compress 同mysqldump,壓縮傳輸

MySql csv檔案匯入匯出

一 匯出到csv 本地匯出 通過mysql客戶端shell連線到伺服器,選擇使用的資料庫,輸入sql select from test info into outfile tmp test.csv fields terminated by 欄位間以,號分隔 optionally enclosed b...

MySQL CSV 檔案匯入MySQL

此問題是前幾天整理資料的時候碰到的,資料存在csv檔案中 200多萬記錄 通過python 往資料庫中匯入太慢了,後來使用mysql中自帶的命令load data infile,30多秒就能夠完成二三百萬的資料量匯入。load data infile命令允許你讀取文字檔案然後非常快速的插入資料庫。匯...

mysql csv6 mysql匯入csv格式檔案

今天測試匯入csv格式檔案,雖然簡單但是如果不注意還是會出現錯誤,而且mysql在某些方面做的確實對新手不是很友好,記錄一下 建立乙個csv格式檔案 mysql 1 ycrdb more tmp loaddata.txt 1,abc,abc qq.com 1,abc,abc qq.com 1,abc...