1、[Err] 1064 - op table not in schema----INDEX
备注:这种错误一般是表名字获取失败报的错误,
具体位置是: RouterUtil类中的routeToDDLNode方法报的
/**
* 修复DDL路由
*
* @return RouteResultset
* @author aStoneGod
*/
public static RouteResultset routeToDDLNode(RouteResultset rrs, int sqlType,
String stmt,SchemaConfig schema) throws SQLSyntaxErrorException {
stmt = getFixedSql(stmt);
String tablename = "";
final String upStmt = stmt.toUpperCase();
if(upStmt.startsWith("CREATE")){
if (upStmt.contains("CREATE INDEX ")){//如果create Index之间的空格不匹配也会报错
tablename = RouterUtil.getTableName(stmt, RouterUtil.getCreateIndexPos(upStmt, 0));
}else {//Create View/Table/CREATE SYNONYM统一执行此处代码
//(创建表, 索引, 视图, 同义词, 过程, 函数, 数据库链接等)
//create user username identified by password;
tablename = RouterUtil.getTableName(stmt, RouterUtil.getCreateTablePos(upStmt, 0));
}
}else if(upStmt.startsWith("DROP")){
if (upStmt.contains("DROP INDEX ")){
tablename = RouterUtil.getTableName(stmt, RouterUtil.getDropIndexPos(upStmt, 0));
}else {
tablename = RouterUtil.getTableName(stmt, RouterUtil.getDropTablePos(upStmt, 0));
}
}else if(upStmt.startsWith("ALTER")){
tablename = RouterUtil.getTableName(stmt, RouterUtil.getAlterTablePos(upStmt, 0));
}else if (upStmt.startsWith("TRUNCATE")){
tablename = RouterUtil.getTableName(stmt, RouterUtil.getTruncateTablePos(upStmt, 0));
}
tablename = tablename.toUpperCase();
if (schema.getTables().containsKey(tablename)){
//此处省略部分代码
return rrs;
}else if(schema.getDataNode()!=null){//默认节点ddl
RouteResultsetNode[] nodes = new RouteResultsetNode[1];
nodes[0] = new RouteResultsetNode(schema.getDataNode(), sqlType, stmt);
nodes[0].setSource(rrs);
rrs.setNodes(nodes);
return rrs;
}
//both tablename and defaultnode null
LOGGER.error("table not in schema----"+tablename);
throw new SQLSyntaxErrorException("op table not in schema----"+tablename);
}
空格恰到好处就OK
相关推荐
Mycat-server-1.6-RELEASE-20161028204710-linux.tar
1. **bin** 目录:包含了MyCat的启动脚本(如`mycat-start.sh`、`mycat-stop.sh`)、日志清理脚本等。 2. **conf** 目录:存放MyCat的配置文件,如`schema.xml`(定义数据节点和表的分片策略)、`server.xml`...
- 下载:首先从官方网站或者可靠的源获取适合Windows环境的Mycat版本,例如“Mycat-server-1.6-RELEASE-20161028204710-win”。 - 解压:将下载的压缩包解压到本地目录,通常包含Mycat的服务器端程序。 - 配置:...
【标题】"mycat2 install-template(mycat2-install-template-1.21.zip)" 指的是MyCat 2的一个安装模板文件,版本为1.21,通常包含了安装MyCat 2所需的所有配置文件和脚本,用于简化部署过程。 【描述】虽然描述...
在标题"Mycat-server-1.6.7.6-release-windows-linux.rar"中,我们可以看到这是Mycat的1.6.7.6版本服务器的发布包,同时提供了适用于Windows和Linux两种操作系统平台的安装包。这表明Mycat具有良好的跨平台特性,...
《Mycat-server-1.6.6.1在Linux环境下的部署与应用》 Mycat是一款开源的分布式数据库中间件,它主要用于解决大数据环境下单机数据库的性能瓶颈问题,实现了数据的分布式存储和处理。Mycat-server-1.6.6.1是其在2018...
在这个最新版的 Linux Mycat-server-1.6.7.5-release-20200410174409-linux.tar.gz 压缩包中,包含了运行 Mycat 服务所需的所有组件和配置文件。 1. **Mycat 的核心功能** - **分库分表**:Mycat 可以将一个大表...
本文将详细解析Mycat-server-1.6.7.3-release-20190809210613-linux.tar.gz这个版本的Mycat服务器。 Mycat的核心理念是数据库分片,即将一个大表分散存储在多个物理节点上,通过特定算法进行数据路由,实现水平扩展...
### **数据量大的几种解决方案** - mysql集群, 主从,读写分离 - 冷热分离,部分冷数据(不经常使用的数据)移...- 分库分表 mycat/ shadingjdbc - NewSQL数据库,hbase 没有1个积分的私聊我哈,我给你免费。。。。。
mycat2(original-mycat2-1.22-release-jar-with-dependencies.jar)
在本文中,我们将详细探讨最新版的Mycat——Mycat-server-1.6.7.5-release-20200410174409在Windows操作系统上的安装、配置和使用。 1. **下载与解压** 首先,你需要从官方网站或可信的源获取`windows Mycat-...
Mycat-server-1.6.6.1-release-20181031195535-linux.tar.gz版本下载
《深入解析mycat2:基于mycat2-1.21-release-jar-with-dependencies.jar的分布式数据库中间件》 mycat2是一款开源的、高性能的、基于Java开发的分布式数据库中间件,它旨在解决大数据分布式存储和处理的问题。mycat...
在这个标题为"Mycat-server-1.6.7.1-release-20190213150257-linux.tar.gz"的压缩包中,包含了运行Mycat服务所需的所有文件,适用于Linux环境,特别是CentOS7系统。 首先,我们需要了解Mycat的核心功能。Mycat的...
mycat2(mycat2-1.22-release-jar-with-dependencies.jar)
【标题】"Mycat-server-1.6.7.3-release-20190927161129-win.tar.gz" 提供的是Mycat数据库中间件的一个特定版本,适用于Windows系统。这个文件是一个经过压缩的归档文件,其扩展名是`.tar.gz`,意味着它首先被打包成...
在标题中提到的"Mycat-server-1.6.7.1-release-20200209222254-win.tar.gz",这是Mycat的一个特定版本——1.6.7.1,适用于Windows操作系统。这个压缩包包含了部署Mycat在Windows环境所需的所有文件。 Mycat的核心...
【标题】"Mycat-server-1.6"是一个针对大型分布式数据库系统设计的开源数据库中间件,主要用于解决海量数据的存储与访问问题。在Linux环境下安装Mycat,是构建高可用、高并发数据库集群的关键步骤。 【描述】"Linux...
Mycat-server-1.6.5-release-20180122220033-linux是专为Linux环境设计的版本,它提供了读写分离、数据库分库分表、主从备份等一系列关键功能,旨在优化数据库性能,提高系统的可扩展性和可用性。 首先,让我们深入...
《深入解析Mycat-Server-1.6源码》 Mycat是开源的分布式数据库中间件,它主要用于解决大数据环境下数据分片、读写分离等问题,是Java开发的一款高性能、高可用的数据库集群管理工具。Mycat-Server-1.6版本的源码...