国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 數(shù)據(jù)庫(kù) > MySQL > 正文

MySQL Proxy的安裝及基本命令使用教程

2024-07-24 13:08:39
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
這篇文章主要介紹了MySQL Proxy的安裝及基本命令使用教程,MySQL Proxy通常被用作實(shí)現(xiàn)讀寫分離,需要的朋友可以參考下
 

MySQL Proxy最壯大的一項(xiàng)功能是告終“讀寫離別(Read/Write Splitting)”。它的原理是讓主數(shù)據(jù)庫(kù)處理事務(wù)性查詢,而從數(shù)據(jù)庫(kù)處理SELECT查詢。數(shù)據(jù)庫(kù)復(fù)制被用來(lái)把事務(wù)性查詢導(dǎo)致的改變同步到集群中的從數(shù)據(jù)庫(kù)。

0.必備軟件:

1、LUA

能夠去LUA的官方下載:dpa.nsysu.edu.tw/Downloads/MySQL-Proxy/。

可能去MYSQL官方下載源代碼。

我這里下載了:

mysql.cdpa.nsysu.edu.tw/Downloads/MySQL-Proxy/mysql-proxy-0.6.0.tar.gz

3、測(cè)驗(yàn)過程中廢止了B和C的REPLICATION。這么SQL語(yǔ)句一下子就看出來(lái)從哪里來(lái)的。

萬(wàn)一是M-S(能夠先在SLAVE上舉行STOP SLAVE)


1. 安裝
下載已經(jīng)編譯好的安裝包,或者預(yù)編譯安裝包均可,在這里,使用預(yù)編譯版本。

[@s1.yejr.com ~]# tar zxf mysql-proxy-0.6.0-linux-rhas4-x86.tar.gz[@s1.yejr.com ~]# cd mysql-proxy-0.6.0-linux-rhas4-x86#可以看到有2個(gè)目錄[@s1.yejr.com mysql-proxy-0.6.0-linux-rhas4-x86]# lssbin share[@s1.yejr.com mysql-proxy-0.6.0-linux-rhas4-x86]# mv sbin/mysql-proxy /usr/local/sbin/[@s1.yejr.com mysql-proxy-0.6.0-linux-rhas4-x86]# ls sharemysql-proxy     tutorial-constants.lua tutorial-packets.lua   tutorial-rewrite.lua tutorial-warnings.luatutorial-basic.lua tutorial-inject.lua   tutorial-query-time.lua tutorial-states.lua#將lua腳本放到/usr/local/share下,以備他用[@s1.yejr.com mysql-proxy-0.6.0-linux-rhas4-x86]# mv share/mysql-proxy /usr/local/share/#刪除符號(hào)連接等垃圾代碼[@s1.yejr.com mysql-proxy-0.6.0-linux-rhas4-x86]# strip /usr/local/sbin/mysql-proxy

2. 啟動(dòng)
編譯一下啟動(dòng)管理腳本:

[@s1.yejr.com ~]# vi /etc/init.d/mysql-proxy#!/bin/shexport LUA_PATH=/usr/local/share/mysql-proxy/?.luamode=$1if [ -z "$mode" ] ; then mode="start"ficase $mode in 'start')  mysql-proxy --daemon /--admin-address=:4401 /--proxy-address=:3307 /--proxy-backend-addresses=:3306 /--proxy-read-only-backend-addresses=192.168.133.232:3306 /--proxy-read-only-backend-addresses=10.10.74.61:3306 /--proxy-lua-script=/usr/local/share/mysql-proxy/rw-splitting.lua  ;; 'stop')  killall mysql-proxy  ;; 'restart')  if $0 stop ; then   $0 start  else   echo "retart failed!!!"   exit 1  fi  ;;esacexit 0

現(xiàn)在解釋一下啟動(dòng)腳本:
--daemon 采用daemon方式啟動(dòng)
--admin-address=:4401 指定mysql proxy的管理端口,在這里,表示本機(jī)的4401端口
--proxy-address=:3307 指定mysql proxy的監(jiān)聽端口,也可以用 127.0.0.1:3307 表示
--proxy-backend-addresses=:3306 指定mysql主機(jī)的端口
--proxy-read-only-backend-addresses=192.168.1.1:3306 指定只讀的mysql主機(jī)端口
--proxy-read-only-backend-addresses=192.168.1.2:3306 指定另一個(gè)只讀的mysql主機(jī)端口
--proxy-lua-script=/usr/local/share/mysql-proxy/rw-splitting.lua 指定lua腳本,在這里,使用的是rw-splitting腳本,用于讀寫分離

完整的參數(shù)可以運(yùn)行以下命令查看:

mysql-proxy --help-all

運(yùn)行以下命令啟動(dòng)/停止/重啟mysql proxy:

[@s1.yejr.com ~]# /etc/init.d/mysql-proxy start[@s1.yejr.com ~]# /etc/init.d/mysql-proxy stop[@s1.yejr.com ~]# /etc/init.d/mysql-proxy restart

3. 試用

[@s1.yejr.com ~]# mysql -h127.0.0.1 -uroot -P3307
mysql> show processlist;
+-------+------+----------------+------+---------+------+-------+------------------+| Id  | User | Host      | db  | Command | Time | State | Info       |+-------+------+----------------+------+---------+------+-------+------------------+| 30052 | root | localhost:9656 | NULL | Query  |  0 | NULL | show processlist |+-------+------+----------------+------+---------+------+-------+------------------+

可以看到,產(chǎn)生了一個(gè)新連接。

用sysbench測(cè)試一下,看會(huì)不會(huì)掛掉:

[@s1.yejr.com ~]# sysbench --test=oltp --mysql-table-engine=innodb --oltp-table-size=1000000 /--mysql-socket=/tmp/mysql.sock --mysql-user=root --mysql-db=test prepare[@s1.yejr.com ~]# sysbench --test=oltp --mysql-table-engine=innodb --oltp-table-size=1000000 /--mysql-socket=/tmp/mysql.sock --mysql-user=root --mysql-db=test run
..................Threads fairness:  events (avg/stddev):      10000.0000/0.00  execution time (avg/stddev):  23.0387/0.00

還好,沒給大家丟臉,剩下的測(cè)試自己完成吧 :)

4. 其他
mysql proxy還可以實(shí)現(xiàn)連接池的功能,這在很多LAMP開發(fā)中是軟肋,因此,有了mysql proxy,就可以不用再擔(dān)心連接數(shù)超限的問題了。
如果使用rw-splitting.lua腳本的話,最好修改以下2個(gè)參數(shù)的默認(rèn)值:

min_idle_connections = 1max_idle_connections = 3


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到MYSQL教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 南通市| 莆田市| 资阳市| 宜丰县| 日喀则市| 北安市| 中阳县| 固始县| 淮安市| 武汉市| 东乡| 吴川市| 义马市| 兴业县| 北碚区| 台湾省| 习水县| 达州市| 梁平县| 华亭县| 金川县| 禹城市| 兖州市| 马关县| 新乡市| 隆子县| 司法| 翁源县| 禄劝| 中江县| 鄢陵县| 张家口市| 老河口市| 台前县| 监利县| 沂水县| 旬邑县| 海原县| 白银市| 临沧市| 龙海市|