簡體   English   中英

主從復制jdbc url

[英]Master slave replication jdbc url

我們有一個MySQL設置,一個主設備和兩個從設備,我們使用Spring 3.0連接到DB和mysql-connector-java-5.1.13.jar。 我們還使用commons dbcp 1.4進行連接池。

我們使用以下jdbc url字符串:

JDBC:MySQL的:復制:// [master_ip]:23306,[slave1_ip]:23306,[slave2_ip]:23306 / wm_admin autoReconnectForPools =真roundRobinLoadBalance =真loadBalanceBlacklistTimeout = 5000&loadBalanceStrategy =隨機

問題是如果其中一個從站關閉,應用程序將無法啟動,或者如果它正在運行且其中一個從站關閉,則應用程序將停止運行。 url字符串是否有問題,是否應該設置不同?

當所有奴隸都死了,我注意到了類似的問題。 它可以用mysql-connector-5.1.38解決

url中的下一個參數:jdbc:mysql:replication:// [master_ip]:23306,[slave1_ip]:23306,[slave2_ip]:23306?connectTimeout = 5000&socketTimeout = 5000&retriesAllDown = 3&allowMasterDownConnections = true&allowSlaveDownConnections = true&loadBalanceBlacklistTimeout = 10000&readFromMasterWhenNoSlaves = true

另外,如果你不害怕master上的readonly查詢 - 你可以將master添加到slave列表:jdbc:mysql:replication:// [master_ip]:23306,[master_ip]:23306,[slave1_ip]:23306,[slave2_ip] :23306

所以你不會遇到“所有奴隸死了”的情況。

也許是文檔中的解決方案:

如果要在沒有可用的從站時允許連接到主站,請將屬性readFromMasterWhenNoSlaves設置為“true”。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM