mysql -uroot -phantele --host=192.168.1.60 -P 5029 //连接数据库
CREATE TABLE IF NOT EXISTS $destable.tr_bsc_group_detail (
bsc_group_detail_id bigint(20) NOT NULL,
bsc_group_id bigint(20) NOT NULL,
bsc varchar(8) NOT NULL)
ENGINE=MyISAM DEFAULT CHARSET=utf8;
mysql -uroot -phantele --host=192.168.1.60 -P 5029 -e "CREATE DATABASE IF NOT EXISTS $destable;" // 选项-e后面可以跟sql语句进行操作
mysql -uhantele -phantele --host=$srchost -P 3306 -e"set names 'utf8';select * from $srctable.tr_bsc_group;" | grep -v bsc_group_id > /home/ib_iee/data/$destable/tr_bsc_group.txt //把表里面的数据保存到文本里面,当然也可以用mysqldump,但是mysqldump有个问题,就是它是拷整个数据库,包括建表、
添加字段等的sql语句,也会被保存在文本文本里面;因为select * from $srctable.tr_bsc_group所筛选出来的第一行会是字段的名字,所以后面的grep会去掉第一行,
剩下的就全是数据了。
还有一种保存成文本的方法:select * from table into OUTFILE 'file.txt';
mysqlimport -uroot -phantele -h$desthost --default-character-set=utf8 -d -f -l --lines-terminated-by="\n" --fields-terminated-by="\t" -P 5029 $destable tr_bsc_group.txt
//用mysqlimport把文本文件里面的内容插到创建的数据库里面。
在用infobright数据库的时候还可以这样做:./dataprocessor -i /home/ib_iee/data/file.txt -H $deshost -L root -p hantele -D $destable -P 5029 -T gn_common_$year$month_tmp$day_tmp$hour_tmp -X -f txt_variable fields-terminated-by=\t lines-terminated-by=\r\n --fields-enclosed-by="\""
注:因为考虑到把文本文件里面的内容插到创建的数据库里面的时候可能会有中文,所以加上--default-character-set=utf8;还有在建表的时候ENGINE=MyISAM,是采用mysql
的引擎,因为我在做的时候刚开始没有加这个选项,我是用的数据库是infobright数据库,默认是它的引擎,所以中文显示的是乱码。