windows下配置mycat,实现mysql数据库的读写分离!

xiaoxiao2021-02-28  139

下载Windows的安装包

https://github.com/MyCATApache/Mycat-download/tree/master/1.4-RELEASE下的

配置环境变量:

修改配置文件

wrapper.conf

Server.xml

[html]  view plain  copy <?xml version="1.0" encoding="UTF-8"?>   <!-- - - Licensed under the Apache License, Version 2.0 (the "License");        - you may not use this file except in compliance with the License. - You        may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0        - - Unless required by applicable law or agreed to in writing, software -        distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT        WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the        License for the specific language governing permissions and - limitations        under the License. -->   <!DOCTYPE mycat:server SYSTEM "server.dtd">   <mycat:server xmlns:mycat="http://org.opencloudb/">       <system>       <property name="defaultSqlParser">druidparser</property>         <!--  <property name="useCompression">1</property>--> <!--1为开启mysql压缩协议-->       <!-- <property name="processorBufferChunk">40960</property> -->       <!--        <property name="processors">1</property>        <property name="processorExecutor">32</property>         -->           <!--默认是65535 64K 用于sql解析时最大文本长度 -->           <!--<property name="maxStringLiteralLength">65535</property>-->           <!--<property name="sequnceHandlerType">0</property>-->           <!--<property name="backSocketNoDelay">1</property>-->           <!--<property name="frontSocketNoDelay">1</property>-->           <!--<property name="processorExecutor">16</property>-->           <!--                <property name="mutiNodeLimitType">1</property> 0:开启小数量级(默认) ;1:开启亿级数据排序               <property name="mutiNodePatchSize">100</property> 亿级数量排序批量               <property name="processors">32</property> <property name="processorExecutor">32</property>                <property name="serverPort">8066</property> <property name="managerPort">9066</property>                <property name="idleTimeout">300000</property> <property name="bindIp">0.0.0.0</property>                <property name="frontWriteQueueSize">4096</property> <property name="processors">32</property> -->       </system>       <user name="root">           <property name="password">zhangxin</property>           <property name="schemas">TESTDB</property>       </user>          <user name="test">           <property name="password">123456</property>           <property name="schemas">TESTDB</property>           <property name="readOnly">true</property>       </user>       <!-- <cluster> <node name="cobar1"> <property name="host">127.0.0.1</property>            <property name="weight">1</property> </node> </cluster> -->       <!-- <quarantine> <host name="1.2.3.4"> <property name="user">test</property>            </host> </quarantine> -->      </mycat:server>  

Schema.xml

[html]  view plain  copy <img src="https://img-blog.csdn.net/20151225113842352?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />   [html]  view plain  copy <?xml version="1.0"?>   <!DOCTYPE mycat:schema SYSTEM "schema.dtd">   <mycat:schema xmlns:mycat="http://org.opencloudb/">          <schema name="TESTDB" checkSQLschema="false" sqlMaxLimit="100">           <!-- auto sharding by id (long) -->           <table name="travelrecord" dataNode="dn1,dn2,dn3" rule="auto-sharding-long" ruleRequired="false" />              <table name="test1_0" dataNode="dn1,dn2,dn3" rule="auto-sharding-long" ruleRequired="false" />              <!-- global table is auto cloned to all defined data nodes ,so can join                with any table whose sharding node is in the same data node -->           <table name="company" primaryKey="ID" dataNode="dn1,dn2,dn3" rule="mod-long"/>           <table name="goods" primaryKey="ID" type="global" dataNode="dn1,dn2" />              <!-- random sharding using mod sharind rule -->           <table name="hotnews" primaryKey="ID" dataNode="dn1,dn2,dn3"               rule="mod-long" />               <!--           <table name="worker" primaryKey="ID" dataNode="jdbc_dn1,jdbc_dn2,jdbc_dn3" rule="mod-long" />   -->           <table name="employee" primaryKey="ID" dataNode="dn1,dn2"               rule="sharding-by-intfile" >               <childTable name="childtest" primaryKey="ID" joinKey="parent_id" parentKey="id"/>                  </table>            <table name="customer" primaryKey="ID" dataNode="dn1,dn2"               rule="sharding-by-intfile">               <childTable name="orders" primaryKey="ID" joinKey="customer_id"                   parentKey="id">                   <childTable name="order_items" joinKey="order_id"                       parentKey="id" />               </childTable>               <childTable name="customer_addr" primaryKey="ID" joinKey="customer_id"                   parentKey="id" />           </table>       </schema>          <dataNode name="dn1" dataHost="192.168.37.9" database="db1" />       <dataNode name="dn2" dataHost="192.168.37.9" database="db2" />       <dataNode name="dn3" dataHost="192.168.37.9" database="db3" />          <dataHost name="192.168.37.9" maxCon="1000" minCon="10" balance="0"           writeType="0" dbType="mysql" dbDriver="native">           <heartbeat>select user()</heartbeat>           <!-- can have multi write hosts -->           <writeHost host="hostM1" url="192.168.37.9:3306" user="root"               password="zhangxin">           </writeHost>       </dataHost>   </mycat:schema>  

启动mycat

启动mysql客户端:

查看employee表信息:

重点说明:在配置的过程中需要把连接MySQL的驱动包放到mycat的lib下面

转载请注明原文地址: https://www.6miu.com/read-29034.html

最新回复(0)