Mycat的逻辑库名是否必须与实际库名一致?

今天在学习mycat时出现了一个问题,当我的逻辑库名与实际库名不一致时,可以使用SQLyog连接库但打不开表。

然后我在mycat服务器端进行了测试,发现当我使用“逻辑库名.表”的形式进行操作时就会出错,然后找到一篇博客

https://blog.csdn.net/wangxuelei036/article/details/107655724

于是我将连接库名与实际库名改为互相一致,一切变得看似正常,但我觉得我没有实际的解决问题,逻辑库名不应当是无用的,当逻辑库中存在多个节点时,可能这个方法就不能解决问题了。

所以想请教一下大佬,我是否存在关键的配置项没有配置?

这是我的配置文件

<?xml version="1.0"?>
<!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="test" />     
	<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.8.135:3306" user="root"  password="1"/>
				<!-- can have multi read hosts -->
				<readHost host="hostS2" url="192.168.8.139:3306" user="repuser" password="1" />
		</writeHost>
	</dataHost>
</mycat:schema>

 

兜兜转转几天,最后还是自己去翻别的博客找到解决方法,写一下希望对别人有帮助 。

schema 的配置项目checkSQLschema改为true,mycat在将命令发送到数据库时会去掉表示schema的字符,防止doesn't exist发生,这样就可以使用逻辑库名访问,但因为对配置文件了解不够深入尚不清楚是不是会引起其他的问题。

<?xml version="1.0"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://io.mycat/">
	<schema name="TESTDB" checkSQLschema="true" sqlMaxLimit="100" dataNode="dn1">     
<!--这里checkSQLschema由false改为了true,然后可以使用逻辑库名连接-->
	</schema>
	<dataNode name="dn1" dataHost="host1" database="test" />     
	<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.8.135:3306" user="root"  password="1"/>
				<!-- can have multi read hosts -->
				<readHost host="hostS2" url="192.168.8.139:3306" user="repuser" password="1" />
		</writeHost>
	</dataHost>
</mycat:schema>

方案来自文章:https://www.jianshu.com/p/7a61ee730cce

需要配置schema.xml文件,

配置逻辑库和物理库的映射关系,以及支撑MyCat访问到物理数据库的相关信息。

您好,我是问答小助手,你的问题已经有小伙伴为您解答了问题,您看下是否解决了您的问题,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~