鲜花网站建设项目策 划书,360浏览器建设银行网站,桂林百度网站建设,一级域名网站怎样收费的服务器-节点: 4台 mysql-主: 192.168.2.40mysql-从-node-0: 192.168.2.41mysql-从-node-1: 192.168.2.42mycat: 192.168.2.45操作过程 1.搭建mysql主从节点2.搭建mycat中间件节点3.mycat服务配置4.测试读写分离,读的分发1.搭建mysql主从节点 Mysql-高可用集群主从单一模式-binl…服务器-节点: 4台 mysql-主: 192.168.2.40mysql-从-node-0: 192.168.2.41mysql-从-node-1: 192.168.2.42mycat: 192.168.2.45 操作过程 1.搭建mysql主从节点2.搭建mycat中间件节点3.mycat服务配置4.测试读写分离,读的分发1.搭建mysql主从节点 Mysql-高可用集群主从单一模式-binlog 2.搭建mycat中间件节点 # 2-1.基础环境搭建: 安装jdk
# 下载页面: https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
rpm -ivh jdk-8u201-linux-x64.rpm# 2-2.下载安装 mycat:
wget http://dl.mycat.io/1.6.6.1/Mycat-server-1.6.6.1-release-20181031195535-linux.tar.gz -P /usr/local/src/
tar xvf /usr/local/src/Mycat-server-1.6.6.1-release-20181031195535-linux.tar.gz -C /usr/local
# 配置: 写入环境变量,增加相应用户
echo export PATH$PATH:/usr/local/mycat/bin /etc/profile
echo export MYCAT_HOME/usr/local/mycat /etc/profile
source /etc/profile
# 增加相应用户
groupadd mycat -g 910
useradd mycat -g 910
chown -R mycat:mycat /usr/local/mycat3.mycat服务配置 3-1.读写数据库配置 vim /usr/local/mycat/conf/schema.xml
?xml version1.0?
!DOCTYPE mycat:schema SYSTEM schema.dtd
mycat:schema xmlns:mycathttp://io.mycat/!-- 声明一个逻辑表, 表名为TESTDB, 和server.xml中的对应 --schema nameTESTDB checkSQLschemafalse sqlMaxLimit100 dataNodedn1/schema!-- 通过dataHost定义的数据库: databasexh(真实数据库) --dataNode namedn1 dataHostdataHost01 databasexh /dataHost namedataHost01 maxCon1000 minCon10 balance3 writeType0 dbTypemysql dbDrivernativeheartbeatselect user()/heartbeat!-- 写入节点(主节点) --writeHost hostserverM1 url192.168.2.40:3306 usermyuser passwordAa123456!-- 读取节点(从节点) --readHost hostserverS0 url192.168.2.41:3306 usermyuser passwordAa123456/readHost hostserverS1 url192.168.2.42:3306 usermyuser passwordAa123456//writeHost/dataHost
/mycat:schema balance指的负载均衡类型,目前的取值有4种: 0: 不开启读写分离机制,所有读操作都发送到当前可用的writeHost上。1: 全部的readHost与stand by writeHost参与select语句的负载均衡,简单的说,当双主双从模式(M1-S1,M2-S2,并且M1与 M2互为主备),正常情况下,M2,S1,S2都参与select语句的负载均衡2: 所有读操作都随机的在writeHost、readhost上分发。3: 所有读请求随机的分发到wiriterHost对应的readhost执行,writerHost不负担读压力switchType指的是切换的模式,目前的取值也有4种:-1: 表示不自动切换1: 默认值,表示自动切换2: 基于MySQL主从同步的状态决定是否切换,心跳语句为 show slave statuswriteType值:0: 所有请求,分发到第一个: dataHost1: 所有请求,分发到所有的: dataHost2: 不执行写操作 3-2.mycat服务,用户配置 vim /usr/local/mycat/conf/server.xml
....
# 服务端口
property nameserverPort8066/property
....
// 管理员配置,读写
user nameroot defaultAccounttrueproperty namepassword123456/propertyproperty nameschemasTESTDB/property
/user
// 普通用户配置,只读
user nameuser defaultAccounttrueproperty namepassword123456/propertyproperty nameschemasTESTDB/propertyproperty namereadOnlytrue/property
/user
.... 3-3.开启日志debug,启动服务: vim /usr/local/mycat/conf/log4j2.xml
....
# 开启debug日志
asyncRoot levelinfo includeLocationtrue 改为 asyncRoot leveldebug includeLocationtrue
....
# 启动服务
mycat start
# 启动防火墙规则
firewall-cmd --permanent --add-port8066/tcp firewall-cmd --reload 4.测试读写分离 // 4-1.分发测试
// 4-1-1.先将 schema.xml 中的配置为: balance0,不进行分发操作,【读写】全部在【主库-192.168.2.40】
....
dataHost namedataHost01 maxCon1000 minCon10 balance0 writeType0 dbTypemysql dbDrivernative
....
// 客户端链接mycat

// 分别查看: 数据库(【主-192.168.2.40】,【从0-192.168.2.41】,【从1-192.168.0.42】)查询次数写入次数:
// 查询次数
show global status like Com_select;
// 写入次数
show global status like %Com_in%;// 【客户端】执行查询: 10次注意工具可能不能直接打开表进行操作只能运行sql语句
SELECT * FROM user limit 1;
INSERT user(name) VALUES(王五1);
INSERT user(name) VALUES(王五2);
INSERT user(name) VALUES(王五3);
// 分别查看: 数据库(主,从0,从1)查询次数应该只有【主库-192.168.2.40】有明显的增加
//// 4-1-2.更改schema.xml 中的配置为: balance3,读在从库,写在主库
// 客户端】执行查询: 10次
// 分别查看: 数据库(主,从0,从1)查询次数应该只有【从0-192.168.2.41】,【从1-192.168.0.42】有明显的增加 5.遗留问题: 主库-宕机后,查询语句也无法执行从库-有一台宕机后,查询语句也无法执行转载于:https://blog.51cto.com/3168834/2374749