您的位置:首页 > 数据库

基于Mycat开源数据库中间件 主从的部署 推荐

2015-11-17 16:27 465 查看
MySQL数据库主从读写分离配置详解与示例

环境 centos 7
mysql 5.6 mycat 1.4
主db 172.16.8.211
从db 172.16.8.212
mycat 172.16.8.215

一、MySQL主服配置这里就不写了
检查下主从状态 mysql>show slavestatus\G
以下两个参数必须为YES: Slave_IO_Running: Yes
Slave_SQL_Running: Yes
新建一个测试库 ceshi二、安装java环境
下载解压 jdk1.7.0_45.tar 配置java环境在profile 后面加 Vi /etc/profile ## java env exportJAVA_HOME=/opt/jdk1.7.0_45 exportJRE_HOME=$JAVA_HOME/jre export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib/rt.jar exportPATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin source /etc/profile三、数据库中间件Mycat配置
下载Mycat-server-1.4-release-2015101923003118-linux.tar 解压到/usr/local/
Mycat 1.4支持MySQL主从复制状态绑定的读写分离机制,让读更加安全可靠,3.1 配置/usr/local/mycat/conf/server.xml 修改一个mycat用户


3.2 配置schema.xm l

(备注解释)(1) 设置 balance="1"与writeType="0"
Balance参数设置: 1. balance=“0”, 所有读操作都发送到当前可用的writeHost上。
2. balance=“1”,所有读操作都随机的发送到readHost。
3. balance=“2”,所有读操作都随机的在writeHost、readhost上分发WriteType参数设置: 1. writeType=“0”, 所有写操作都发送到可用的writeHost上。 2. writeType=“1”,所有写操作都随机的发送到readHost。 3. writeType=“2”,所有写操作都随机的在writeHost、readhost分上发。“readHost是从属于writeHost的,即意味着它从那个writeHost获取同步据,因此,当它所属的writeHost宕机了,则它也不会再参与到读写分离中来,即“不工作了”,这是因为此时,它的数据已经“不可靠”了。基于这个考虑,目前mycat 1.3和1.4版本中,若想支持MySQL一主一从的标准配置,并且在主节点宕机的情况下,从节点还能读取数据,则需要在Mycat里配置为两个writeHost并设置banlance=1。”(2) 设置switchType="2" 与slaveThreshold="100"
“Mycat心跳检查语句配置为 show slave status ,dataHost 上定义两个新属性:switchType="2" 与slaveThreshold="100",此时意味着开启MySQL主从复制状态绑定的读写分离与切换机制。Mycat心跳机制通过检测 show slave status 中的 "Seconds_Behind_Master", "Slave_IO_Running","Slave_SQL_Running" 三个字段来确定当前主从同步的状态以及Seconds_Behind_Master主从复制时延。“

3.3 配置log4j.xml



3.4 配置编码 index_to_charset.properties 添加常用的utf-8字符集



3.5 启动 测试 调试就用控制




然后进行操作进入控制台会发现没有mysql 客户端,所以先安装下mysql 在进行进入



mysql -utest –p123456 –h127.0.0.1 –P8066 ##控制台
mysql -utest –p123456 –h127.0.0.1 –P9066 ##监控控制台



测试新建表-----》插入数据------》查看数据
create tablecompany(id int not null primary key,name varchar(100));
insert intocompany(id,name) values(1,'alibaba');
select *from company;



查看日志会发现写走的是211






读走的是212这样读写分离就出来了,如果有多台主或者从就可以负载了



到这里mycat基于主从的配置就完成了。 这里要感谢mycat 群里面@成都+战狼的提点

这里有一篇关于 web 应用安全防护的教程,主要将了怎么防护web 应用,以及sql注入 http://www.roncoo.com/details/b32a545a747440bd893f632427740604
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: