Mycat读写分离使用

说明:Mycat是一个数据库分库分表的中间件,具体介绍见http://www.mycat.org.cn/

安装配置

  • 从https://github.com/MyCATApache/Mycat-download下载Mycat;
  • 将其解压到本地目录;
  • 找到Mycat下conf下schema.xml,修改如下:


<mycat:schema xmlns:mycat="http://io.mycat/">
    <schema name="ims_db" checkSQLschema="false" sqlMaxLimit="100" dataNode="dn1">
    schema>
    <dataNode name="dn1" dataHost="localhost1" database="db1" />//一个节点
    <dataHost name="localhost1" maxCon="1000" minCon="10" balance="0" writeType="0" dbType="mysql" dbDriver="native" switchType="2" slaveThreshold="100">
    <heartbeat>show slave status heartbeat>//心跳
    <writeHost host="hostM1" url="localhost:3306" user="root" password="root">writeHost>//写节点
    <readHost host="hostS1" url="10.10.31.12:3306" user="root" password="root">readHost>//读节点
dataHost>
mycat:schema>
  • 打开server.xml配置,修改如下:



<mycat:server xmlns:mycat="http://io.mycat/">
    <system>
    <property name="useSqlStat">0property>  
    <property name="useGlobleTableCheck">0property>  

        <property name="sequnceHandlerType">2property>
       
         
    
    
        
        <property name="processorBufferPoolType">0property>
        
        
        
        
        
        
        
        
        <property name="handleDistributedTransactions">0property>

            
        <property name="useOffHeapForMerge">1property>

        
        <property name="memoryPageSize">1mproperty>

        
        <property name="spillsFileBufferSize">1kproperty>

        <property name="useStreamOutput">0property>

        
        <property name="systemReserveMemorySize">384mproperty>
    system>

    
    

    <user name="root">
        <property name="password">rootproperty>
        <property name="schemas">ims_dbproperty>//schemas名和schemas中对应
    user>

    <user name="user">
        <property name="password">userproperty>
        <property name="schemas">ims_dbproperty>
        <property name="readOnly">trueproperty>
    user>

mycat:server>
  • 启动Mycat:找到bin下的mycat.bat启动,若启动不了,可以使用startup_nowrap.bat;
  • 在项目中配置数据库地址为jdbc:mysql://localhost:8066/ims_db(Mycat数据库端口为8066,管理端口为9066)

通过以上配置,实现读数据时使用一个库,写数据一个库,读写(加了事务)走写库。

你可能感兴趣的:(Java,DataBase)