Mycat小白问题总结,欢迎大神指点迷津,有些问题求解了2天还是没有解决。
- 工作了大概10天了,接触mycat中间件也快10天了,之前一直在查阅相关资料,最近两天也真正的自己修改schema,server和rule等XML文件。
现在自己接手的是一个数据存储量大概5gb的mysql集群。
想尝试在mycat上执行数据扩容,遇到了一系列问题,在网上搜索了2天的相关问题信息,还是不能解决。希望能得到大家的帮助。
问题1,关于数据库备份问题
- 我最先是想使用mysqldump命令进行数据备份。 在XShell中连接mycat虚拟机,进入到mysql目录下面执行mysqldump
-u -p -P -h --all-databases> XXXX.sql 命令后出现 you have an error in your sql syntax dont support lock multi tables!when usering locked tables
error
去网上搜索,mycat的相关资料真的是有点少。试着改变权限,改变my.inf配置文件都没有作用。折腾了将近一天后选择放弃,决定使用nevicat工具导出数据,可是导到一半出现了连接超时错误,去my.inf配置文件中查看配置,发现没有超时方面的属性设置,又是一脸蒙蔽。
数据扩容问题,宣告失败,第一步数据备份就没能成功。
问题2,关于在schema.xml中设置Schema库,以及在datanode节点建立对应表问题
- 在schema.xml中,root用户有3个schema库,sys用户有大概10个schema库,root用户下的schema库都是全局表,sys用户下的schema库都是分片表。我要扩容的就是sys用户下的分片表,我计划我原来的表的datanode节点由原来的6个扩容为15个,host还是原来的3个。但是出现一个问题就是我要扩容的datanode中没有创建这些表,我应该怎么去创建要扩容的表在新增的datanode上面,因为如果不在datanode中创建分片表,在mycat中对扩容的表进行操作的时候会出现
tables not exists错误。请大神指教。
问题3,关于mycat数据库语句的问题
- 我想查询某一个字段的最大值,通过ID分组。写出了sql语句,执行过程很慢大概15s才出结果,这个我接受好吧,但是结果不对,我就无法接受了,你给我的结果是错误的,出现了结果集丢失数据问题,而且每次查询结果都不一样。。。。。我真是醉了。
后来我修改sever.xml文件里面的 userDiskMemory 属性 修改为 0 也和原来一样没有发生变化。
我执行的SQL语句是 SELECT ID,MAX(TIME) AS TIME FROM TABLE GROUP BY ID ORDER
BY TIME DESC 后来 我删除了 as time 删除了 order by 都没有 还是返回错误的结果。
总的来说,接触mycat的一周时间里带给了我很多的痛苦,我真的不知道该怎么继续学习mycat了。 求大神指教。