zoukankan      html  css  js  c++  java
  • Mysql+Mycat实现数据库主从同步与读写分离

    下载网站:www.SyncNavigator.CN 
     客服QQ1793040
    ----------------------------------------------------------


    关于HKROnline SyncNavigator 注册机价格的问题

     

    HKROnline SyncNavigator 8.4.1 非破解版 注册机 授权激活教程
     

     

    最近一直在研究数据库同步的问题,在网上查了很多资料,也请教了很多人,找到了一种通过快照复制的方法。研究了一番后发现之前就是用的这个方法,效果不是很好,果断放弃。经过了一番寻觅和他人指点,最后从一位热心网友那里得知一款很好用的软件—— SyncNavigator。

    好东西就要拿出来跟大家分享,所以今天向大家介绍一下这款软件,及其一些使用方法。下面先看看它有什么强大的功能吧!

    SyncNavigator的基本功能:

    自动同步数据/定时同步数据
    无论是实时同步/24小时不间断同步,还是根据计划任务(每小时/每日/每周/等)定时自动同步都能完全胜任。

    完整支持 Microsoft SQL Server
    完整支持 Microsoft SQL Server 2000 2005 2008 数据库类型。并能在不同数据库版本之间相互同步数据。

    支持 MySQL 4.1 以上版本
    支持 MySQL 4.1 5.0 5.1 5.4 5.5。并能在不同数据库版本之间相互同步数据。

    无人值守和故障自动恢复
    当数据库故障或网络故障以后,无需人工干预(或操作)自动恢复同步并确保数据完全准确,可靠。

    同构数据库同步/异构数据库同步
    SQL Server to SQL Server, MySQL to MySQL, SQL Server to MySQL 等都能轻松实现。

    断点续传和增量同步
    当同步完成(或中断)后,再次同步时能继续上一次的位置增量同步,避免每次都需要从头开始的问题。

    此文章源于浅谈MySQL集群高可用架构对文章中的架构扩展介绍,之前写过一篇关于MHA的文章MySQL集群高可用架构之MHA

    Mycat介绍

    官网: http://mycat.io/
    电子书: http://mycat.io/document/Mycat_V1.6.0.pdf
    书: http://blog.csdn.net/wind520/article/details/53213691

    MyCAT采用Java开发,实现MySQL公开的二进制协议,将自己伪装成MySQL Server;应用只需连接MyCAT 执行SQL,MyCAT按照配置的策略,分发SQL至相应的MySQL节点。

    什么是MYCAT

    • 一个彻底开源的,面向企业应用开发的大数据库集群
    • 支持事务、ACID、可以替代MySQL的加强版数据库
    • 一个可以视为MySQL集群的企业级数据库,用来替代昂贵的Oracle集群
    • 一个融合内存缓存技术、NoSQL技术、HDFS大数据的新型SQL Server
    • 结合传统数据库和新型分布式数据仓库的新一代企业级数据库产品
    • 一个新颖的数据库中间件产品

    Mycat整体架构图

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

    Mycat特点介绍

    • 支持SQL92标准
    • 支持MySQL、Oracle、DB2、SQL Server、PostgreSQL等DB的常见SQL语法
    • 遵守Mysql原生协议,跨语言,跨平台,跨数据库的通用中间件代理。
    • 基于心跳的自动故障切换,读写分离,MySQL主从,以及galera cluster集群。
    • 支持Galera for MySQL集群,Percona Cluster或者MariaDB cluster
    • 基于Nio实现,有效管理线程,解决高并发问题。
    • 支持数据的多片自动路由与聚合,sum,count,max等常用的聚合函数,跨库分页。
    • 支持全局序列号,解决分布式下的主键生成问题。
    • 分片规则丰富,插件化开发,易于扩展。
    • 强大的web,命令行监控。
    • 支持前端作为MySQL通用代理,后端JDBC方式支持Oracle、DB2、SQL Server 、 mongodb 、巨杉。
    • 集群基于ZooKeeper管理,在线升级,扩容,智能优化,大数据处理(2.0开发版)。

    MySQL主从同步

    这个配置这里就不再赘述了,可参考前面的文章

    Linux系统MySQL数据库主从同步实战过程

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

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

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

    安装Mycat服务

    生产环境最好单独使用服务器进行安装,测试环境安装在主库上

    需要安装JAVA环境

    [root@mysql-m ~]# java -version

    java version “1.8.0_144”

    Java(TM) SE Runtime Environment (build 1.8.0_144-b01)

    Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)

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

    安装Mycat服务

    [root@mysql-m local]# wget http://dl.mycat.io/1.6-RELEASE/Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz

    [root@mysql-m local]# tar zxf Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz

    [root@mysql-m local]# cd mycat/

    [root@mysql-m mycat]# ll

    total 24

    drwxr-xr-x 2 root root 4096 Sep 23 19:13 bin

    drwxrwxrwx 2 root root 4096 Mar  1  2016 catlet

    drwxrwxrwx 4 root root 4096 Sep 23 19:13 conf

    drwxr-xr-x 2 root root 4096 Sep 23 19:13 lib

    drwxrwxrwx 2 root root 4096 Oct 28  2016 logs

    -rwxrwxrwx 1 root root  217 Oct 28  2016 version.txt

    [root@mysql-m mycat]# cat >>/etc/profile<<EOF

    > export MYCAT_HOME=/usr/local/mycat

    > export PATH=$PATH:$MYCAT_HOME/bin

    > EOF

    [root@mysql-m mycat]# source /etc/profile

    配置Mycat服务

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

    #以下四项取消注释,修改如下

    <!–默认是65535 64K 用于sql解析时最大文本长度 –>

    <property name=”maxStringLiteralLength”>65535</property>

    <property name=”sequnceHandlerType”>0</property>

    <property name=”backSocketNoDelay”>1</property>

    <property name=”frontSocketNoDelay”>1</property>

    <property name=”processorExecutor”>1</property>

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

    配置schema.xml文件

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

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

    主从服务器上配置读写的用户user并给以相应的权限

    启动服务

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

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

    登陆管理管理端口,查看是否有默认的逻辑数据库

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

    查看数据读写入口

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

    从上面可以看出数据写入与读取的入口在哪个库上

    测试Mycat读写分离功能

    接下来测试通过mycat来进行对主从数据库的读写操作

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

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

    上面的数据是从逻辑数据库插入与查询的,接下来分别从主从库查看数据是否写入成功

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

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

    再次查看数据源的入口情况

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

    Mycat性能监控

    MYCAT监控

    • 支持对Mycat、Mysql性能监控
    • 支持对Mycat的JVM内存提供监控服务
    • 支持对线程的监控
    • 支持对操作系统的CPU、内存、磁盘、网络的监控

    下载WEB管理端软件

    wget https://github.com/MyCATApache/Mycat-download/blob/master/mycat-web-1.0/Mycat-web-1.0-SNAPSHOT-20160617163048-linux.tar.gz

    需要安装zookeeper

    [root@mysql-m local]# wget http://mirrors.hust.edu.cn/apache/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz

    [root@mysql-m local]# tar zxf zookeeper-3.4.6.tar.gz

    [root@mysql-m local]# ln -s zookeeper-3.4.6 zookeeper

    [root@mysql-m conf]# cp zoo_sample.cfg zoo.cfg

    [root@mysql-m bin]# ./zkServer.sh start

    JMX enabled by default

    Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg

    Starting zookeeper … STARTED

    [root@mysql-m ~]# lsof -i :2181

    COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME

    java 3639 root 25u IPv6 19337 0t0

    TCP *:eforward (LISTEN)

    安装WEB管理端

    [root@mysql-m bin]# cd /usr/local/

    [root@mysql-m local]# tar zxf Mycat-web-1.0-SNAPSHOT-20160617163048-linux.tar.gz

    [root@mysql-m local]# cd mycat-web/mycat-web/WEB-INF/classes/

    [root@mysql-m classes]# ll

    total 28

    drwxr-xr-x 3 root root 4096 Jun 17  2016 com

    -rw-r–r– 1 root root  367 Jun 17  2016 jdbc.properties

    -rw-r–r– 1 root root 4068 Jun 17  2016 log4j2.xml

    drwxr-xr-x 3 root root 4096 Jun 17  2016 mybatis

    -rw-r–r– 1 root root  411 Jun 17  2016 mycat.properties

    drwxr-xr-x 3 root root 4096 Jun 17  2016 org

    drwxr-xr-x 2 root root 4096 Sep 26 00:21 spring

    [root@mysql-m classes]# vim mycat.properties

    #

    #Mon Jan 16 15:37:36 CST 2012

    show.period=3000000

    zookeeper=10.0.0.11:2181

    [root@mysql-m mycat-web]# /usr/local/mycat-web/start.sh &

    [1] 3684

    [root@mysql-m mycat-web]# nohup: ignoring input and appending output to `nohup.out’

    [root@mysql-m mycat-web]# lsof -i :8082

    COMMAND  PID USER  FD  TYPE DEVICE SIZE/OFF NODE NAME

    java 3685 root 122u IPv6 20997 0t0 TCP *:us-cli (LISTEN)

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

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

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

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

  • 相关阅读:
    10 个让人惊讶的 jQuery 插件
    URL编码方法比较
    Java大文件分片上传/多线程上传源码
    Java大文件分片上传/多线程上传代码
    Java大文件分片上传/多线程上传插件
    Java大文件分片上传/多线程上传控件
    python函数
    关于言谈
    Sql语句之select 5种查询
    openstack之网络基础
  • 原文地址:https://www.cnblogs.com/syncnavigator/p/10189606.html
Copyright © 2011-2022 走看看