当前位置: 首页 > Linux

Mysql+Mycat实现数据库主从同步和读写分离

时间:2023-04-06 19:10:07 Linux

本文源于对MySQL集群高可用架构的简单介绍,在文中介绍架构扩展。之前写过一篇关于MHA的文章。MySQL集群高可用架构之MHAMycat官网介绍:http://mycat.io/电子书:Mycat电子书MyCAT是用Java开发的,实现了MySQL公共二进制协议,伪装成MySQLServer;应用程序只需要连接到MyCAT就可以执行SQL,MyCAT遵循配置的策略。将SQL分发到对应的MySQL节点。什么是MYCAT?用于企业应用程序开发的完全开源的大型数据库集群。它支持事务、ACID和一个可以替代MySQL的增强型数据库。一个企业级数据库,可以看成是MySQL集群,用来替代昂贵的Oracle集群。融合内存缓存技术、NoSQL技术、HDFS大数据新SQLServer传统数据库与新型分布式数据仓库相结合的新一代企业级数据库产品新型数据库中间件产品Mycat总体架构图Mycat特性介绍支持SQL92标准支持MySQL、Oracle、DB2、SQLServer、PostgreSQL等DB的通用SQL语法,遵循Mysql原生协议,跨语言、跨平台、跨数据库的通用中间件代理。基于心跳的自动故障转移,读写分离,MySQL主从,galera集群。支持基于Nio实现的MySQL集群、Percona集群或MariaDB集群的Galera,有效管理线程,解决高并发问题。支持数据的多切片自动路由和聚合,常用聚合函数sum、count、max等,支持跨库分页。支持全局序列号,解决分布式下主键生成问题。分片规则丰富,插件化开发,易于扩展。强大的网络,命令行监控。前端支持作为MySQL的通用代理,后端JDBC方式支持Oracle、DB2、SQLServer、mongodb、Sequoia。基于ZooKeeper的集群管理,在线升级,扩容,智能优化,大数据处理(2.0开发版)。MySQL主从同步的配置这里不再赘述。可以参考上一篇Linux系统MySQL数据库主从同步实际过程。安装Mycat服务。生产环境安装最好单独使用服务器。测试环境需要安装在主库上。JAVA环境[root@mysql-m~]#java-versionjavaversion"1.8.0_144"Java(TM)SERuntimeEnvironment(build1.8.0_144-b01)JavaHotSpot(TM)64-BitServerVM(build25.144-b01,混合模式)安装Mycat服务[root@mysql-mlocal]#wgethttp://dl.mycat.io/1.6-RELEASE/Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz[root@mysql-mlocal]#tarzxfMycat-server-1.6-RELEASE-20161028204710-linux.tar.gz[root@mysql-mlocal]#cdmycat/[root@mysql-mmycat]#lltotal24drwxr-xr-x2rootroot4096Sep2319:13bindrwxrwxrwx2rootroot4096Mar12016catletdrwxrwxrwx4rootroot4096Sep2319:13confdrwxr-xr-x2rootroot4096Sep2319:13libdrwxrwxrwx2rootroot2root609rwxrwxrwx1根根2172016年10月28日version.txt[root@mysql-mmycat]#cat>>/etc/profile<exportMYCAT_HOME=/usr/local/mycat>exportPATH=$PATH:$MYCAT_HOME/bin>EOF[根@mysql-mmycat]#source/etc/profile配置Mycat服务下面四项去掉注释,修改如下655350111配置主从服务器上的schema.xml文件配置读写用户user并赋予相应权限启动服务,登录管理口即可从上面查看数据读写入口是否有默认的逻辑数据库。找出数据写入和读取条目在哪个图书馆。测试Mycat读写分离功能。接下来通过mycat测试主从数据库的读写操作。以上数据从逻辑数据库插入和查询,然后分别从主从库查看数据是否写入成功再次查看数据源入口状态Mycat性能监控Mycat监控支持Mycat和Mysql性能监控支持MycatJVM内存监控服务支持线程监控支持操作系统CPU、内存、磁盘、网络监控下载WEB管理软件wgethttps://github.com/MyCATApache/Mycat-download/blob/master/mycat-web-1.0/Mycat-web-1.0-SNAPSHOT-20160617163048-linux.tar.gz需要安装zookeeper[root@mysql-mlocal]#wgethttp://mirrors.hust.edu.cn/apache/zookeeper/zookeeper-3.4.6/zookeeper-3.4。6.tar.gz[root@mysql-mlocal]#tarzxfzookeeper-3.4.6.tar.gz[root@mysql-mlocal]#ln-szookeeper-3.4.6zookeeper[root@mysql-mconf]#cpzoo_sample.cfgzoo.cfg[root@mysql-mbin]#./zkServer.shstartJMXenabledbydefaultUsingconfig:/usr/local/zookeeper/bin/../conf/zoo.cfgStartingzookeeper...STARTED[root@mysql-m~]#lsof-i:2181COMMANDPIDUSERFDTYPEDEVICESIZE/OFFNODENAMEjava3639root25uIPv6193370t0TCP*:eforward(LISTEN)安装WEB管理端[root@mysql-mbin]#cd/usr/local/[root@mysql-mlocal]#tarzxfMycat-web-1.0-SNAPSHOT-20160617163048-linux.tar.gz[root@mysql-mlocal]#cdmycat-web/mycat-web/WEB-INF/classes/[root@mysql-mclasses]#lltotal28drwxr-xr-x3rootroot4096Jun172016com-rw-r--r--1rootroot367Jun172016jdbc.properties-rw-r--r--1rootroot4068Jun172016log4j2.xmldrwxr-xr-x3rootroot4096Jun172016mybatis-rw-r--r--1rootroot411Jun172016mycat.propertiesdrwxr-xr-x3rootroot4096Jun172016orgdrwxr-xr-x2根根40969月26日00:21spring[root@mysql-mclasses]#vimmycat.properties##MonJan1615:37:36CST2012show.period=3000000zookeeper=10.0.0.11:2181[root@mysql-mmycat-web]#/usr/local/mycat-web/start.sh&[1]3684[root@mysql-mmycat-web]#nohup:忽略输入并将输出附加到`nohup.out'[root@mysql-mmycat-web]#lsof-i:8082COMMANDPIDUSERFDTYPEDEVICESIZE/OFFNODENAMEjava3685root122uIPv6209970t0TCP*:us-cli(LISTEN)今天的分享到此结束。如果您觉得文章还不错,对您有帮助和参考,请点赞和转发,分享和支持,您的支持是打工仔最大的动力!!

最新推荐
猜你喜欢