基于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
环境 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
相关文章推荐
- 数据库课程设计开发笔记(一)
- MongoDB小结14 - find【查询条件$lt $lte $gt $gte】
- MongoDB小结13 - find【2个参数】
- Anorm, simple SQL data access (play 2.4.x)
- MongoDB小结12 - update【多文档更新】
- Installing PHP and the Oracle Instant Client for Linux and Windows For PHP 5.5, OCI8 2.0 and Oracle
- MongoDB小结11 - update【save】
- MySQL-group_concat函数用法-生成签到日期序列
- MongoDB小结10 - update【upsert】
- PLSQL数据导入导出问题解决(空表、大字段表、表空间错误等)
- Mysql cpu 100% 服务接口性能定位 (二)
- where in (@参数) 转换成数据类型 int 时失败
- mysql保障数据一致性:redis与mysql数据同步(二)
- sql2008 启动报错:应用程序的组件中发生了无法处理的异常和值不能为空 viewinfo(已解决!)
- 数据库事务介绍
- mysql访问连接过多
- Oracle 错误总结及问题解决 ORA
- sql 追踪 神器
- 初学Redis(2)——用Redis作为Mysql数据库的缓存
- 高效SQL攻略