svn checkout svn://svn.code.sf.net/p/mysqlcsv/code/trunk 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 xxx.xxx.xxx.xxx -P 3306 -u'username' -p'password' --ignore-database mysql --ignore-database test --ignore-table admin_xxx_com.xxxx -v --quick -C
[root@xxxxx ~]# ls /data/csv/admin2/ -lh
总用量 28K
drwxr-xr-x 2 root root 12K 2月 1 13:01 admin_xxx_com
-rw-r--r-- 1 root root 92 2月 1 12:49 admin_xxx_com.frm.gz
drwxr-xr-x 2 root root 4.0K 2月 1 16:53 check_xxx_com
-rw-r--r-- 1 root root 102 2月 1 13:01 check_xxx_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 xxx.xxx.xxx.xxx -P 3306 -u'username' -p'password' --ignore-database mysql --ignore-database test --ignore-table admin_xxx_com.xxxx -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,压缩传输