MYCAT链接及集群搭建

1 准备(windows版操作)

JDK1.7以上

TOMCAT(8.5)

MYCAT(windows) server 1.6.7

mycat下载连接:The domain name Mycat.io is for sale   (免安装)

配置mycat环境变量: MYCAT_HOME=安装路径

PATH = $MYCAT_HOME$\bin

2 修改mycat配置信息

2.1安装路径\conf   下 server.xml

配置mycat用户名及密码,以及mycat逻辑库名,权限(可忽略)等

<user name="root" defaultAccount="true">

<!--mycat 连接密码-->

<property name="password">123456</property>

<!--mycat 逻辑库名 与配置文件相同-->

<property name="schemas">DB2</property>

<!--读取权限-->

<!--<property name="readOnly">false</property>-->

</user>

2.2 安装路径\conf  下 schema.xml

配置mycat与实际数据库的绑定

<mycat:schema xmlns:mycat="http://io.mycat/">

<schema name="DB2" checkSQLschema="false" dataNode='dn1' sqlMaxLimit="100"></schema>

<dataNode name="dn1" dataHost="localhost1" database="数据库名称" />

<dataHost name="localhost1" 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="127.0.0.1:3306" user="root"

   password="***">

<!-- can have multi read hosts -->

<!--<readHost host="hostS2" url="127.0.0.1:3306" user="root" password="***" />-->

</writeHost>

<!--默认第一个writeHost,出现问题切换正常的下一个writeHost -->

<writeHost host="hostM2" url="127.0.0.2:3306" user="root"

   password="***"></writeHost>

</dataHost>

</mycat:schema>

2.3设置防火墙拦截,使其允许mycat请求

2.4 启动失败修改启动插件的内存分配

打开mycat\conf里面的startup_nowrap.bat 为了降低资源占用,mycat的jvm设置在startup_nowrap.bat 可以清楚看到如下配置: 
“%JAVA_CMD%” -server -Xms1G -Xmx2G -XX:MaxPermSize=64M -XX:+AggressiveOpts -XX:MaxDirectMemorySize=1G -DMYCAT_HOME=%MYCAT_HOME% -cp “..\conf;..\lib*” io.mycat.MycatStartup 
这里将-Xms1G改成-Xms512M,-Xmx2G改成-Xmx1024M,保存后重新启动即可。

3修改mysql配置文件

3.1安装路径  下 my.ini  或者 my.cnf

server_id=1

log-bin=mysql-bin

relay_log=mysql-relay-bin

注:server_id 不可重复

4 设置mysql主服务设置(master)

4.1登录mysql服务,创建用户(用于从服务与主服务的链接)

GRANT REPLICATION SLAVE,RELOAD,SUPER ON *.* TO 用户@'允许端口' IDENTIFIED BY '密码';

例:GRANT REPLICATION SLAVE,RELOAD,SUPER ON *.* TO backup@'192.168.31.177' IDENTIFIED BY '123456';

用户生效指令:flush privileges;

4.2 重启mysql;

查看主服务状态指令:show master status;(存在即创建成功)

查看链接列表指令:show processlist\G;(可查询当前主服务下的链接信息)

备注:1关于mycat主从切换链接:mysql主从复制+主备切换_蹦擦擦擦的博客-CSDN博客_mysql主从复制+主备切换

2 关于mycat负载均衡链接:windows环境安装haproxy及初步配置负载均衡使用示例 - songpingyi - 博客园

3 Haproxy下载链接:Index of /repo/pkgs/haproxy

4 haproxy集成mycat负载均衡链接:https://blog.51cto.com/goome/2056522