mycat 数据库中间件,放到双主服务器前面做代理,实现负载均衡。

一,配置java环境。

    去官网下载jdk安装包,安装jdk。安装完成后将目录名称改为jdk

     修改环境变量:

                    #vim /etc/profile

                    JAVA_HOME=/usr/local/java
                    PATH=$JAVA_HOME/bin:$PATH
                    export JAVA_HOME PATH
   测试java:

                    #java -version(我们这里安装的石1.7.0版本)

                        java version "1.7.0_67"
                        Java(TM) SE Runtime Environment (build 1.7.0_67-b01)
                        Java HotSpot(TM) 64-Bit Server VM (build 24.65-b04, mixed mode)    

二。安装mycat

    去官网下载:http://www.mycat.io/

    解压到/usr/local/下

三。配置mycat:

    server.xml

            配置client如何访问mycat(用户名和密码)

            配置schema名称

    schemal.xml

            配置数据库节点和库


配置server.xml

需要在任何一台主服务器上授权新账户

mysql>grant all on *.* 'youngfit'@'%' identified by '123';

mysql>flush privileges;


在其他所有机器测试账户是否同步成功:
mysql> show grants for huxulong@'%';
+-----------------------------------------------+
| Grants for huxulong@%                         |
+-----------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'huxulong'@'%' |
+-----------------------------------------------+

#vim /usr/local/mycat/conf/server.xml
 80         <user name="root">
 81                 <property name="password">123</property>
 82                 <property name="schemas">dbname1</property>
//schemas的名字可以写多个,拿逗号隔开 比如db1,db2

修改配置文件schema.xml  :
#vim /usr/local/mycat/conf/schema.xml
  1 <?xml version="1.0"?>
  2 <!DOCTYPE mycat:schema SYSTEM "schema.dtd">
  3 <mycat:schema xmlns:mycat="http://io.mycat/">
  4
  5         <schema name="dbname1" checkSQLschema="false" sqlMaxLimit="100" dataNode="dn1">     //中间原来有好多表的配置,统统干掉
  6         </schema>
               //上面的schema标签可以写多个,每个对应一个datanode
  7         <dataNode name="dn1" dataHost="localhost1" database="db1" />
               //上面的datanode可以写多个,每个对应一个数据库
  8         <dataHost name="localhost1" maxCon="1000" minCon="10" balance="0"
  9                           writeType="0" dbType="mysql" dbDriver="native" switchType="1"  slaveThreshold="100">
 10                 <heartbeat>select user()</heartbeat>
 11                 <writeHost host="hostM1" url="master1:3306" user="huxulong"
 12                                    password="123">
 13                         <readHost host="hostS2" url="slave1:3306" user="huxulong" password="123" />
 14                         <readHost host="hostS2" url="slave2:3306" user="huxulong" password="123" />
 15                 </writeHost>
 16                 <writeHost host="hostM2" url="master2:3306" user="huxulong"
 17                                    password="123">
 18                         <readHost host="hostS2" url="slave1:3306" user="huxulong" password="123" />
 19                         <readHost host="hostS2" url="slave2:3306" user="huxulong" password="123" />
 20                 </writeHost>
 21         </dataHost>
 22
 23 </mycat:schema>

 

启动mycat,测试

#/usr/local/mycat/bin/mycat start

starting mycat


#jps

2118 WrapperSimpleApp
2153 Jps


如果测试失败,请查看配置文件是否配置正确,查看内存是否充足。内存不足,导致mycat不能启动。