mycat+mysql实现多租户配置

前言

网上的许多mycat安装教程并不能解决我遇到的问题,特此记录一下

mycat安装

mycat的安装很简单,但是版本很重要,我就在这里栽了跟头…
一开始随便在网上找了一个版本如下:
在这里插入图片描述

解压后安装步骤如下:

  1. 配置环境变量path:
    D:\mycat1.4\Mycat-server-1.4-release-20151019230038-win\mycat\bin
  2. 以管理员身份运行cmd并输入:
    mycat.bat install
  3. 启动mycat服务:
    mycat.bat start
    到这里应该可以正常启动了!
数据源配置

首先创建两个数据库
在这里插入图片描述

表的结构完全一致

然后编辑mycat的两个主要的配置文件:schema.xml和server.xml
schema.xml:

<mycat:schema xmlns:mycat="http://org.opencloudb/">

	<schema name="cb" checkSQLschema="false" sqlMaxLimit="100">
         <table name="bom" dataNode="dn1,dn2" />
      </schema>
     <dataNode name="dn1" dataHost="localhost1" database="db01" />
      <dataNode name="dn2" dataHost="localhost1" database="db02" />
     <dataHost name="localhost1" maxCon="1000" minCon="10" balance="0"
              writeType="0" dbType="mysql" dbDriver="native" switchType="1"  slaveThreshold="100">
        <heartbeat>select user()</heartbeat>
        <writeHost host="hostS1" url="localhost:3306" user="root"
                  password="root">
				    <readHost host="hostS2" url="localhost:3306" user="root" password="root" />
		</writeHost>
    </dataHost>
</mycat:schema>

server.xml只需改一下mycat的schemas和密码:

<user name="root">
		<property name="password">root</property>
		<property name="schemas">cb</property>
		<!-- <property name="readOnly">true</property> -->
</user>

schemas和schema.xml中配置的schema对应

重启mycat服务

然后打开navicat新建mysql连接:
在这里插入图片描述
mycat的默认端口号是8066

测试链接成功了,然后打开数据库出现了一个错误:

no Mycat database selected!!!

我对照了网上的发现数据源配置没有问题,查了很多资料发现都不行

后来我意识到网上的教程使用的mycat版本似乎和我的不一样:

这是我安装的mycat的配置文件:
在这里插入图片描述

网上的:
在这里插入图片描述

于是我试着去mycat的官网去下载mycat,发现下载下来的配置文件就和网上的一样了,按上述步骤配置后一切就正常了,这也是一个教训,官网还是最靠谱的!
查询一下:把两个数据库的数据都查出来了,一共44条没问题
在这里插入图片描述

注:重装mycat服务需要卸载原有的服务,重装步骤:

  1. cmd管理员模式输入:
    sc delete mycat
  2. 重新配置环境变量
  3. 执行上述安装步骤即可

猜你喜欢

转载自blog.csdn.net/KKALL1314/article/details/83344725