淘先锋技术网

首页 1 2 3 4 5 6 7

Mycat常见的安装与配置方法,可以详见官方文档和博客,
Mycat官网:http://www.mycat.io/
我是模拟在Linux系统下实现数据库的主从、热备、分表分库功能,遇到一些不易找到解决方法的问题,分享一下。

问题一:数据表的设计,childTable里可以添加childTable,
官方文档粗略看了一下,没有找到实例,网上博客也没有细说,所以对能不能在子表中套子表产生怀疑,以下是我的schema.xml配置,测试没有问题。
在这里插入图片描述

问题二:java.lang.IllegalArgumentException:Invalid DataSource:0
在这里插入图片描述
问题原因:
1.检查schema.xml的dataNode的配置,确定没有问题
2.确认mysql是否开启访问端口,远程连接权限,或防火墙是否设置正确
默认安装的mysql没有外部访问权限,所以需要开启访问权限
开启3306端口或者直接关闭防火墙
#/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
开启远程连接权限命令:grant [权限] on [数据库名].[表名] to [‘用户名’]@[‘web服务器的ip地址’] identified by [‘密码’];
在这里插入图片描述
查看防火墙端口开启状态
#service iptables status
在这里插入图片描述
以下是把所有库表对所有服务器开启权限的命令
mysql> grant all on . to ‘root’@’%’ identified by ‘root’;
在这里插入图片描述
3.数据库里mysql的user表设置
我的mysql用户只有一个,密码也只有一个,所以我把所有密码都复制填充了一遍
在这里插入图片描述
问题三: find no Route:select * from xxx
在这里插入图片描述
解决方案:把schema.xml中的checkSQLschema默认值false改为true。(这个原因好坑爹,找了一天)
在这里插入图片描述