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会下发到每个数据节点。如果每台机器上有两个数据节点,那么导出时就会报错。建议到每一个数据节点下导出数据再拼接起来

转载于:https://www.cnblogs.com/AndersonX/p/8696397.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Mycat是一个开源的数据库中间件,用于实现数据库的分库分表和读写分离。它可以与MySQL等关系型数据库进行集成。引用\[2\]中提到了MycatMySQL8.0的集成情况,主数据库MySQL8.0,而Mycat可以将数据分库存储在不同的MySQL实例中。 在Mycat的配置中,可以通过balance和writeType参数来设置读写分离的策略。引用\[3\]中提到了balance参数的不同取值对应的负载均衡策略,而writeType参数用于设置写操作的策略。具体的取值和含义可以参考引用\[3\]中的说明。 需要注意的是,Mycat的配置文件中需要指定writeHost和readHost,分别对应主数据库和从数据库的地址。这些配置可以根据实际情况进行调整,以满足业务需求。 总结起来,Mycat是一个用于实现数据库分库分表和读写分离的中间件,可以与MySQL8.0进行集成。通过配置balance和writeType参数,可以实现不同的负载均衡和写操作策略。具体的配置和使用方法可以参考引用\[1\]和\[3\]中的内容。 #### 引用[.reference_title] - *1* [Mycat连接Mysql8.0及以上配置及问题(已解决)](https://blog.csdn.net/weixin_52457745/article/details/124003840)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [linux下MyCat实现MySQL8.0读写分离](https://blog.csdn.net/weixin_44728369/article/details/115460738)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值