不管具體技術,從"讀寫分離"的概念出發來推導一下基本的要素 寫數據/讀數據的比例insert/update/delelte 20% /select 80%通俗的說:讀服務器就是指寫服務器的數據鏡像從服務端看:要有N臺從服務器和主服務器保持數據一致.從客戶端看:比如有一條insert語句和一條select 語句,則要區分讀/寫語句,并且分別請求從/主服務器服務器端讀寫分離的具體技術數據庫集群技術集群由3個概念sql節點 sql node數據節點 data node管理節點 ndb managermentSql語句發送"1sql節點", "1sql"節點發往"2數據節點",再由3管理節點完成數據節點的之間的同步.集群技術相對復雜,至少有3種節點,4臺服務器才能完成.數據庫復制 replication 的實現原理1:主服務器凡運行語句,都產生一個二進制日志 binlog2:從服務器不斷讀取主服務器的binlog3:從主服務讀取到的binlog,轉換為自身可執行的relaylog,4:執行relaylog實現步驟:1:首先確保主服務器打開二進制日志功能.這樣,主服務器一旦有數據變化,立即產生二進制日志.2:從服務器也需要開啟二進制日志和relay日志功能.這樣可以從主服務器讀取binlog,并產生relaylog3:在主服務器建立一個從服務器的賬號,并授予數得上權限.4: 指定從服務對應的主服務器,開啟從服務器.具體實施本人虛擬機下有兩臺linux,ip為71,721: 71做主服務器2: 72做為從服務器.3: 保證主從3306端口互通.4: 配置主服務器,打開binlog配置細節我都不多說 前面的文章中有 http://blog.csdn.net/QQ_36030288/article/details/53762962現在我們的主從配置完成了在用我們的負載均衡中的MySQL_PRoxy中間件 還是一樣的道理 指定主 從 服務器不就完事了嗎注意的是:1.找到你指定用那lua腳本做的"讀寫分離" 就在安裝mysql_proxy目錄share/doc/mysql-proxy/rw-splitting.lua 就是這個lua腳本2.還有可能出現這種問
原因:可能你的操作系統的位數是32位的換一個32位的mysql_proxy就ok了wget http://ftp.ntu.edu.tw/pub/MySQL/Downloads/MySQL-Proxy/mysql-proxy-0.8.5-linux-glibc2.3-x86-32bit.tar.gz啟動讀寫分離:./bin/mysql-proxy /--proxy-backend-addresses=192.168.1.71:3306 /--proxy-read-only-backend-addresses=192.168.1.72:3306 /--proxy-lua-script=/usr/local/mysql-proxy/share/doc/mysql-proxy/rw-splitting.lua簡寫:./bin/mysql-proxy -b 192.168.1.71:3306 -r 192.168.1.72:3306 -s /usr/local/mysql-proxy/share/doc/mysql-proxy/rw-splitting.lua -鏈接mysql_proxy 賬號與密碼是你mysql的賬號與密碼 (多開幾個窗口 鏈接數多了就begin"讀寫分離")mysql -h 192.168.1.71 -P 4040 -u root -p簡單測試在從服務器插入一條數據 連接mysql_proxy如果讀出這條數據說明你成功了 因為主服務器中根本都沒有這條數據
新聞熱點
疑難解答