MySQL 讀寫(xiě)分離實(shí)例詳解
MySQL 讀寫(xiě)分離
MySQL讀寫(xiě)分離又一好辦法 使用 com.mysql.jdbc.ReplicationDriver
在用過(guò)Amoeba 和 Cobar,還有dbware 等讀寫(xiě)分離組件后,今天我的一個(gè)好朋友跟我講,MySQL自身的也是可以讀寫(xiě)分離的,因?yàn)樗麄兲峁┝艘粋€(gè)新的驅(qū)動(dòng),叫 com.mysql.jdbc.ReplicationDriver
說(shuō)明文檔:http://dev.mysql.com/doc/refman/5.1/en/connector-j-reference-replication-connection.html
代碼例子:
import java.sql.Connection;
import java.sql.ResultSet;
import java.util.Properties;
import com.mysql.jdbc.ReplicationDriver;
public class ReplicationDriverDemo {
public static void main(String[] args) throws Exception {
ReplicationDriver driver = new ReplicationDriver();
Properties props = new Properties();
// We want this for failover on the slaves
props.put("autoReconnect", "true");
// We want to load balance between the slaves
props.put("roundRobinLoadBalance", "true");
props.put("user", "foo");
props.put("password", "bar");
//
// Looks like a normal MySQL JDBC url, with a
// comma-separated list of hosts, the first
// being the 'master', the rest being any number
// of slaves that the driver will load balance against
//
Connection conn =
driver.connect("jdbc:mysql:replication://master,slave1,slave2,slave3/test",
props);
//
// Perform read/write work on the master
// by setting the read-only flag to "false"
//
conn.setReadOnly(false);
conn.setAutoCommit(false);
conn.createStatement().executeUpdate("UPDATE some_table ....");
conn.commit();
//
// Now, do a query from a slave, the driver automatically picks one
// from the list
//
conn.setReadOnly(true);
ResultSet rs =
conn.createStatement().executeQuery("SELECT a,b FROM alt_table");
.......
}
}
感謝閱讀,希望能幫助到大家,謝謝大對(duì)本站的支持!
- php實(shí)現(xiàn)帶讀寫(xiě)分離功能的MySQL類(lèi)完整實(shí)例
- MySQL5.6 Replication主從復(fù)制(讀寫(xiě)分離) 配置完整版
- MySQL的使用中實(shí)現(xiàn)讀寫(xiě)分離的教程
- Yii實(shí)現(xiàn)MySQL多數(shù)據(jù)庫(kù)和讀寫(xiě)分離實(shí)例分析
- Thinkphp實(shí)現(xiàn)MySQL讀寫(xiě)分離操作示例
- 通過(guò)mysql-proxy完成mysql讀寫(xiě)分離
- 使用PHP實(shí)現(xiàn)Mysql讀寫(xiě)分離
- Ubuntu10下如何搭建MySQL Proxy讀寫(xiě)分離探討
- MySQL主從同步、讀寫(xiě)分離配置步驟
- mysql 讀寫(xiě)分離(實(shí)戰(zhàn)篇)
- mysql 讀寫(xiě)分離(基礎(chǔ)篇)
相關(guān)文章
詳解Mysql中保證緩存與數(shù)據(jù)庫(kù)的雙寫(xiě)一致性
在一些高并發(fā)場(chǎng)景下,為了提升系統(tǒng)的性能,我們通常會(huì)將數(shù)據(jù)存儲(chǔ)在 Redis 緩存中,并通過(guò) Redis 緩存來(lái)提高系統(tǒng)的讀取速度,這篇文章主要介紹了詳解Mysql中保證緩存與數(shù)據(jù)庫(kù)的雙寫(xiě)一致性,需要的朋友可以參考下2024-03-03
當(dāng)面試官問(wèn)mysql中char與varchar的區(qū)別
這篇文章主要以聊天形式圖片的添加,將面試官面試真實(shí)場(chǎng)景體現(xiàn)出來(lái),好奇的朋友不要錯(cuò)過(guò)奧2021-08-08
遠(yuǎn)程連接mysql數(shù)據(jù)庫(kù)注意事項(xiàng)記錄(遠(yuǎn)程連接慢skip-name-resolve)
有時(shí)候我們需要遠(yuǎn)程連接mysql數(shù)據(jù)庫(kù),就需要注意下面的問(wèn)題,方便大家解決,腳本之家小編特為大家準(zhǔn)備了一些資料2012-07-07
IntelliJ?IDEA?2024與MySQL?8連接以及driver問(wèn)題解決辦法
在IDE開(kāi)發(fā)工具中也是可以使用mysql的,下面這篇文章主要給大家介紹了關(guān)于IntelliJ?IDEA?2024與MySQL?8連接以及driver問(wèn)題解決辦法,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下2024-09-09
MySql插入數(shù)據(jù)成功但是報(bào)[Err] 1055錯(cuò)誤的解決方案
這篇文章主要介紹了MySql插入數(shù)據(jù)成功但是報(bào)[Err] 1055錯(cuò)誤的解決方案,需要的朋友可以參考下2017-08-08
MySQL實(shí)現(xiàn)批量插入以優(yōu)化性能的教程
這篇文章主要介紹了MySQL實(shí)現(xiàn)批量插入以優(yōu)化性能的教程,文中給出了運(yùn)行時(shí)間來(lái)表示性能優(yōu)化后的對(duì)比,需要的朋友可以參考下2015-04-04
MySQL關(guān)聯(lián)查詢優(yōu)化實(shí)現(xiàn)方法詳解
在數(shù)據(jù)庫(kù)的設(shè)計(jì)中, 我們通常都是會(huì)有很多張表 , 通過(guò)表與表之間的關(guān)系建立我們想要的數(shù)據(jù)關(guān)系, 所以在多張表的前提下, 多表的關(guān)聯(lián)查詢就尤為重要,這篇文章主要介紹了MySQL關(guān)聯(lián)查詢優(yōu)化2022-11-11
MySQL 復(fù)制詳解及簡(jiǎn)單實(shí)例
這篇文章主要介紹了MySQL 復(fù)制詳解及簡(jiǎn)單實(shí)例的相關(guān)資料,需要的朋友可以參考下2017-04-04

