ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

ERROR 1184 (HY000): Invalid DataSource:0

2021-07-14 14:04:42  阅读:999  来源: 互联网

标签:逻辑 这个 1184 Invalid MyCat 问题 DataSource 数据库 物理


 目录

一、问题描述

二、解决历程

三、解决方案


一、问题描述

         这个问题出现的场景是我在Linux中使用MyCat用户远程登录时出现的,搞了很久。错误提示如下图所示:

         可以看出,使用show tables找不到表。

二、解决历程

         百度反正没有我这种错误的。我参考过如下文章,都没有解决。

https://blog.csdn.net/Chen_leilei/article/details/109566480

https://blog.csdn.net/cnds123321/article/details/117934134

         最后定位我的问题是数据库问题。


三、解决方案

         首先,我们看一下schema.xml这个文件的配置。

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">

<mycat:schema xmlns:mycat="http://io.mycat/">  
  <schema name="TESTDB" checkSQLschema="false" sqlMaxLimit="100" dataNode="dn1"></schema>  
  <dataNode name="dn1" dataHost="host1" database="testdb"/>  
  <dataHost name="host1" maxCon="1000" minCon="10" balance="0" writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100"> 
    <heartbeat>select user()</heartbeat>  
    <!-- can have multi write hosts -->  
    <writeHost host="hostM1" url="192.168.85.131:3306" user="root" password="123"> 
      <!-- can have multi read hosts -->  
      <readHost host="hostS1" url="192.168.85.132:3306" user="root" password="123"/> 
    </writeHost> 
  </dataHost> 
</mycat:schema>

        我们知道,schema.xml是MyCat三大配置文件之一,其中定义逻辑库,表、分片节点等内容。

       而在运行原理上,我们又知道MyCat并不直接指向实际的物理库,而是有一个逻辑库的概念。我们通过<schema name="TESTDB" checkSQLschema="false" sqlMaxLimit="100" dataNode="dn1"></schema>定义了逻辑库的数据节点,但是逻辑库dataNode="dn1"最终其实还是要指向实际的物理库,所以我们也要通过<dataNode name="dn1" dataHost="host1" database="testdb" />来指向实际的物理库。而我的问题就出在这个物理库上,我实际的物理库根本就没有表,所以自然报ERROR 1184 (HY000): Invalid DataSource:0这个错误了。 实际我testdb这个真实的物理库也没建,所以也会出现卡顿问题。

       问题最终得以解决。其实问题原因很简单,但是定位的过程中由于不知道什么原因很难。仅就本例而言,我认为是我没有搞清楚<scema>和<dataNode>这两个标签分别配置的是什么意思,其实就是分别对应虚拟的逻辑库和真实的物理库,物理库就是数据库中必须真实有这个数据库。经过我在数据库真实创建了destdb这个库,以及库下再放几张表,这个问题就解决了!

 

标签:逻辑,这个,1184,Invalid,MyCat,问题,DataSource,数据库,物理
来源: https://blog.csdn.net/flesaca/article/details/118725196

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有