mysql数据如何导入mycat中_MyCAT与MySQL导入、导出文件

1. MySQL批量导入-LOAD DATA

使用本地客户端连接MySQL数据库,批量导入数据,出现报错:

2017-06-07 09:30:45,936 MySqlWrapper::ImportCSVtoDB ERROR 13:Can't get stat of '/opt/sdc/merge/WorkData/7374182833.csv' (Errcode: 2 - No such file or directory)

查询后得知,本地导数据需要添加local,修改导入SQL如下:

LOAD DATA LOCAL INFILE '/opt/sdb/test.csv'

INTO TABLE t_test

CHARACTER SET utf8

FIELDS TERMINATED BY ',' ENCLOSED BY '"'

LINES TERMINATED BY '\n';

另外注意,批量导入数据会产生大量无效bin-log,可以通过关闭log来避免:

set sql_log_bin=0;

导入结束后打开:

set sql_log_bin=1;

手动清楚bin-log日志:

purge master logs before '2017-06-07 17:07:00';

(删除某个时间点之前的日志)

2. MySQL批量导出-select into outfile

使用select导出数据需要注意,指定目录必须存在,且没有同名文件,MySQL导出的时候,不会覆盖重名文件,语法案例如下:

select *

from t_test into outfile

'/opt/wifidb/mysql_datatest.csv'

fields terminated by ','

optionally enclosed by ''

LINES TERMINATED BY '\n';

3. 利用mysqldump导出sql

MySQL支持mysqldump导出整个数据库结构和数据库数据,代码如下:

1、导出数据库为dbname的表结构(其中用户名为root,密码为dbpasswd,生成的脚本名为db.sql)

mysqldump -uroot -pdbpasswd -d dbname >db.sql;

2、导出数据库为dbname某张表(test)结构

mysqldump -uroot -pdbpasswd -d dbname test>db.sql;

3、导出数据库为dbname所有表结构及表数据(不加-d)

mysqldump -ucellDB -p -h172.16.2.01 -P3309 db631 >/opt/data/mysql_data/db1.sql

4、导出数据库为dbname某张表(test)结构及表数据(不加-d)

mysqldump -uroot -pdbpasswd dbname test>db.sql;

4.导入SQL文件

首先确保MySQL里面有存在该数据库,导入案例如下:

MySQL -uroot -p123456123 -h172.16.2.01 -P3308 db1 < /opt/data/mysql_data/db1.sql;

5.MyCAT批量导入数据-Load Data

MyCAT的批量导入与MySQL相似,不同的是,MyCAT导入的时候需要明确指出列名,便于分片插入,否则会报lost connection的错误。案例如下:

LOAD DATA LOCAL INFILE '/opt/data/mysql_data/test.csv' ignore

INTO TABLE t_test

CHARACTER SET 'utf8'

FIELDS TERMINATED BY ','

OPTIONALLY ENCLOSED BY '"'

LINES TERMINATED BY '\n'

(i_ID, i_MAC, i_RSSI, i_Grid);

6. MyCAT批量导入数据-source sql

MyCAT的也支持source sql文件。与MySQL不同的是,导入到mycat的sql文件需要携带columnslist,所以在导出时,mysqldump命令如下:

mysqldump -uroot -p123456 -h172.16.2.01 -P3308 -c --skip-add-locks db1 t_test > /opt/data/mysql_data/buffer.sql

注意加粗字段。与此同时,导入导出的表名要一致。

这种办法可以用于MyCat迁移数据的使用。

7. MyCAT批量导出--select into outfile

MyCAT实质为SQL parser,select会下发到每个数据节点。如果每台机器上有两个数据节点,那么导出时就会报错。建议到每一个数据节点下导出数据再拼接起来

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值