C++,python,热爱算法和机器学习
全部博文(1214)
分类: Mysql/postgreSQL
2012-05-01 00:47:08
在上一篇文章中描述到 的架構,接著此篇將延伸那個架構再加入 來當mysql的代理,那麼要代理那些工作呢?主要是將讀寫分開,讓自動判斷來源的指令中是讀取(SELECT)還是寫入(ADD、UPDATE、DELETE),然後再將寫入的動作移至Master主機,讀取的動作平均移至多台的Slave主機。
當然,如果你的程式中已經將讀取跟寫入的動作已經自動分配至各個不同的mysql,那麼你就可以忽略本篇文章。
(圖片來源:)
讓我們先來看一下 對於MySQL Proxy的功能及特性的說法如下:
MySQL Proxy is a simple program that sits between your client and MySQL server(s) that can monitor, analyze or transform their communication. Its flexibility allows for unlimited uses; common ones include:
要使用MySQL Proxy除了先了解MySQL Proxy的功能外,再來就是MySQL Proxy的安裝囉
在安裝MySQL Proxy前,必須先安裝好 readline >= 5.1 ,詳細readline 的安裝方式就不再說明,尚未安裝的網友可以前往 下載安裝;如果您都是用rpm安裝的話,可以用底下指令檢查看看 readline是否已經安裝:
$rpm -qa | grep readline
如果已經確定系統有readline 後,再來就是安裝LUA套件了,安裝到這邊網友可能會想說:甚麼是LUA?LUA能為MySQL Proxy做什麼事呢?
根據wiki的說法【Lua程式語言 是一個簡潔、輕量、可擴展的腳本語言】詳細請見 。是的,您沒有看錯,Lua是一種程式語言, 看到這裡您是否有意識到當程式人員真的很歹命,什麼程式都要學,寫網站程式用PHP、Javascript,還會延伸出不同的框架(framework) 像是JQuery…等,寫MySQL資料庫又有一些MySQL語法,接觸到Linux系統後,又要學一點都不人性的Shell script,現在架個MySQL Proxy又多了一個LUA程式語言,看到這裡真要給自己還有這些RD人員們拍拍手鼓勵一下了,加油加油!complain 發洩一下心情後,該做的還是要做 讓我們來看一下Lua的安裝方式吧!
LUA安裝方式版本:5.1.4
官網下載點:
$wget
$tar xzvf lua-5.1.4.tar.gz
$cd lua-5.1.4
$vi Makefile #修改安裝路徑,本範例安裝路徑為 INSTALL_TOP= /usr/local/lua
$make linux install
依據上述指令即可安裝LUA,之後在/usr/local/lua就會發現LUA相關的檔案。
安裝完LUA後,再來就是安裝MySQL Proxy套件囉,在安裝MySQL Proxy前,請先確定您的系統上已經有安裝MySQL(廢話@@)
MySQL Proxy安裝方式版本:0.8.0
官網下載點:http://dev.mysql.com/downloads/mysql-proxy/
請先至官網下載 0.8.0 版本的MySQL Proxy,本範例使用 Source code的安裝方式
$ tar xzvf mysql-proxy-0.8.0.tar.gz
$ cd mysql-proxy-0.8.0
$ env LUA_CFLAGS=’-I/usr/local/lua/include’ \
> LUA_LIBS=’-L/usr/local/lua/lib -llua -ldl’ \
> CFLAGS=’-I/usr/local/include’ \
> LDFLAGS=’-L/usr/local/lib -lm’ \
> PKG_CONFIG_PATH=/usr/local/lib/pkgconfig \
> ./configure \
> –prefix=/usr/local/mysql-proxy \
> –with-mysql=/usr/local/mysql \
> –with-lua
$ make;make install
看到上面的安裝方式或許會有一點亂,丫忠就針對這些參數說明一下,當然下指令【./configure –help】就會有英文說明了
在安裝過程中可能會有一些錯誤訊息出現,丫忠遇到的問題是版本不合的問題,不過上述套件的版本是可以相容的 ^^y