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實現數據庫主從同步與讀寫分離


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM