mysql db ha tool mysql connector j

6
MySQL Connector J for Failover

Upload: jamie-lee

Post on 17-Feb-2017

45 views

Category:

Software


1 download

TRANSCRIPT

Page 1: MySQL DB HA Tool MySQL Connector J

MySQL Connector J for Failover

Page 2: MySQL DB HA Tool MySQL Connector J

2/8

目標 利用 MySQL Connector J 支援 failover ,當

Master DB 連線服務發生異常時,便提供 AP 連線failover 至設定的 Slave DB ,且此 DB 連線為Read 模式。 Connector J 會定期檢查 Master DB的連線服務狀況,待 Master DB 恢復正常,則 AP 連線將導向 Master DB (Read/Write 模式 ) 。

Page 3: MySQL DB HA Tool MySQL Connector J

3/8

系統架構 MySQL Connector/J Failover 機制

jdbc:mysql://[A:9453], [B:9454],…/[db name]?failOverReadOnly=true ( 預設值 true)

jdbc:mysql://[B:9454], [A:9453],…/[db name]?failOverReadOnly=true ( 預設值 true)

Readonly 控制權在 Con/J ,直接進 slave 是可寫的 ?

A B

jdbc:mysql://[master host:port], [slave host:port],…/[db name]?failOverReadOnly=true ( 預設值 true)

Con/J 可辨識 master/slave 狀態,亦或是認 URL 順位?

<AP Server Read/write JNDI oltp>

<AP Server ReadOnly JNDI rpt>

Page 4: MySQL DB HA Tool MySQL Connector J

4/8

系統環境設定 下載 mysql-connector-java-version-bin.jar ,放置於 AP ,並設定其 CLASSPATH 環境變數。

export CLASSPATH=/path/mysql-connector-java-ver-bin.jar:$CLASSPATH

設定 jdbc url ,開啟 failOverReadOnly jdbc:mysql://[master host:port], [slave host:port],

…/[db name]?failOverReadOnly=true (預設值 true)

Page 5: MySQL DB HA Tool MySQL Connector J

5/8

Failover 演練 以 MySQL Connector/J (10.144.150.175) 定期檢查 Master DB(10.144.150.177:9453) 的連線狀況。 在 AP(10.144.150.175) 執行查詢、新增資料程式

(ConMySQL.java) 。 此讀寫作業皆在Master上完成

Page 6: MySQL DB HA Tool MySQL Connector J

6/8

Failover 演練 關閉 Master DB , AP 端執行查詢、新增資料程式

(ConMySQL.java) 此時連線將導向至 Slave DB,連線為 Readonly,無法在 Slave DB 上異動資料。

待 Master DB 恢復服務, AP 端執行查詢、新增資料程式將導向至 Master DB(Read/Write 模式 )