Linux使用Mycat进行数据库的读写分离实例讲解.docx
《Linux使用Mycat进行数据库的读写分离实例讲解.docx》由会员分享,可在线阅读,更多相关《Linux使用Mycat进行数据库的读写分离实例讲解.docx(6页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Linux使用Mycat进行数据库的读写分离实例讲解今天给大家分享一下用Mycat进行数据库的读写分离,本篇文章是基于上一篇的mysql 主从复制。Linux上实现Mysql的主从复制(为Mycat读写分离作准备)服务器1: centos7. 3, mysql5. 6服务器 2: centos7. 3, mysql5. 6接下来,我们来看一下实现读写分离的方法和优缺点。1 .读写分离的思路原理顾名思义,读写分离基本的原理是让主数据库处理事务性增、改、删操作,而从数据库 处理查询操作。数据库复制被用来把事务性操作导致的变更同步到集群中的从数据库。1. 2实现方式实现方式有很多,但是不外乎分为内部
2、配置和使用中间件,下面列举几个常用的方法:1,配置多个数据源,根据业务需求访问不同的数据,指定对应的策略:增加,删除,修 改操作访问对应数据,查询访问对应数据,不同数据库做好的数据一致性的处理。由于此方 法相对易懂,简单,不做过多介绍。2 .动态切换数据源,根据配置的文件,业务动态切换访问的数据库:此方案通过Spring 的AOP, AspactJ来实现动态织入,通过编程继承实现Spring中的 AbstractRoutingDataSource,来实现数据库访问的动态切换,不仅可以方便扩展,不影响现 有程序,而且对于此功能的增删也比较容易。3 .通过mycat来实现读写分离:使用mycat提
3、供的读写分离功能,mycat连接多个数据 库,数据源只需要连接mycat,对于开发人员而言他还是连接了一个数据库(实际是mysql 的mycat中间件),而且也不需要根据不同业务来选择不同的库,这样就不会有多余的代码 产生。每个方法都有优缺点,我们选择对程序代码改动最小(只改数据源)的方法三,讲解 mycat的配置和使用。2. Mycat安装和配置.1安装步骤1#安装Java环境(mycat基于java)2yum install java-1.8.0-openjdk.x86_643# 下载 mycat4wget5https:/dl.mycat.io/1.6.5/Mycat-server-1.6
4、.5-release-20180122220033-li 6nux.tar.gz 7#解压8tar -zxvf Mycat-server-1.6.5-release-20180122220033-linux.tar.gz 9#剪切到/usr/local下 lmv mycat /usr/local/0#创建专门运行mycat账号 adduser mycat1#切换到mycat文件夹路径下 led /usr/local2#将文件权限赋给mycat账号 lchown mycat:mycat -R mycat3#配置环境变量并添加 export 3AVA_H0ME=/usr export lMYCAT
5、_HOME=/usr/local/mycat (如下图所示)4vim /etc/profile 1 5 1 6按Esc,输入:wq保存退出1#刷新环境变量文件2source /etc/profile3#切换mycat用户4su mycat5#切换目录6cd /usr/local/mycat/bin/7#启动 mycat8 ./mycat start好了,mycat启动成功,我们来看一下读写分离的配置和mycat的连接配置!3.配置Mycat的读写分离1 Mycat的目录结构根目录进到conf文件夹里面查看配置文件:root(aVM_0_13_redhat mycat# cd confroot(
6、aVM 0 13 redhat conf# 1122:00 autopartition-long.txt22:00 auto-sharding-long.txt22:00 auto-sharding-rang-mod.txt22:00 cacheservice.properties22:00 dbseq.sql19:49 dnindex.properties22:00 ehcache.xnl22:00 index_to_charset.properties2016 Log4j2.xml22:00 migrateTables.properties22:00 myid.properties22:0
7、0 partition-hash-int.txt22:00 partition-range-mod.txt22:00 rule. xml21:49 schema.xml22:00 sequence_conf.properties22:00 sequencedbconf.properties22:00 sequencedistributedconf.pr22:00 sequence_time_conf.propertie21:26 server.xml22:00 sharding-by-enum.txt22:05 wrapper.conf18:40 zkconf18:40 zkdovfl.oad
8、total 108-rwxrwxrwx 1 -rwxrwxrwx 1 -rwxrwxrwx 1 -rwxrwxrwx 1 -rwxrwxrwx 1 -rw-r-r- 1 -rwxrwxrwx 1 -rwxrwxrwx 1 -rwxrwxrwx 1 -rwxrwxrwx 1 -rwxrwxrwx 1 -rwxrwxrwx 1 -rwxrwxrwx 1-rwxrwxrwx 1 -rwxrwxrwx 1 -rwxrwxrwx 1 -rwxrwxrwx 1 -rwxrwxrwx 1 -rwxrwxrwx 1 -rwxr-xr-x 1 -rwxrwxrwx 1 -rwxrwxrwx 1 drwxrwxr
9、wx 2 drwxrwxrwx 2 root root root root root root root root root root root root root root root root root root root root root root root root root root root root mycat mycat root root root root root root root root root root root root root root root root root root88 Jan 2248 Jan 2262 Jan 22334 Jan 223244
10、 Jan 2251 Jun 10439 Jan 222132 Jan 221253 Dec 1178 Jan 22262 Jan 2215 Jan 22102 Jan 224794 Jan 222913 Jun 11413 Jan 2275 Jan 2227 Jan 2251 Jan 224738 Jun 1116 Jan 224186 Jan 224096 Jun 104096 Jun 10root(aVM 0 13 redhat conf#3. 2配置读写分离信息1#进入配置文件vi /usr/local/mycat/conf/schema.xml以下是两种配置方式和配置说明1 .提供一个
11、数据库内所有表的权限:!DOCTYPE nycat:schema SYSTEMMycat:scheaa n . :a ht|schea 工i11 3,!- - - 个schema相,“I广个数据陈:name:设轼库名:dataNode:对人;x/schea2dataNode 的 name dataHost:iffjname: database:在正要使用的数据牌名称 is!-dataNode name= Jdbjdnl dataHosts jdbchost* database=,dbl / - maxCon:iii大连接数:minCon:G小连按数:switchType:为1时会在仃多个从时进
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Linux 使用 Mycat 进行 数据库 读写 分离 实例 讲解
限制150内