我这里,单个MySql数据表的大小已经超过20GB了,单表8000多万条数据,马上
上亿了,这个时候我,搭建了一个MyCat集群解决的,一个写库,11个读库这样来做的.
提高查询效率.但是搭建完以后,需要把原来数据库中的表数据导入到,MyCat集群中去
怎么导入呢?
直接用Navicat导出一个sql文件来,或者用Mysql的命令导出一个.sql文件来都不行的.
为什么,比如我们配置的MyCat集群中,有很多的水平分表操作,二水平分表的规则,是根据
某个id,进行把某个表分库存储,这个时候,要求插入语句:
必须要,带上字段才能插入成功,要不然报错,说,用到分库的字段id找不到了:
下面这样操作就是有问题的会报错:
insert into testtbl values(1,'xiaohong');
而:
insert into testtbl (id,name) values(1,'zhangsan');
这样才可以.也就是说,导入到mycat数据库中的,数据,需要包含所有的列名称才可以.
---------------
1.那我们怎么办呢? 有两种方式,第一种方式:
使用Navicat导入导出,可能会慢很多,但是带有图形界面操作方便.
而且这种方式,只能,一个一个表的去,先把数据从原来的数据库导出来,得到数据的txt文件,然后再把包含数据的txt文件,导入到
用Navicat连接上的mycat集群数据库中去.
<