校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁(yè) > 知識(shí)庫(kù) > 在OneProxy的基礎(chǔ)上實(shí)行MySQL讀寫分離與負(fù)載均衡

在OneProxy的基礎(chǔ)上實(shí)行MySQL讀寫分離與負(fù)載均衡

熱門標(biāo)簽:福建外呼電銷機(jī)器人加盟 中國(guó)地圖標(biāo)注公司 天津公司外呼系統(tǒng)軟件 昌德訊外呼系統(tǒng) 400電話申請(qǐng)廠家現(xiàn)貨 自己做地圖標(biāo)注需要些什么 徐涇鎮(zhèn)騰訊地圖標(biāo)注 電話機(jī)器人的價(jià)格多少錢一個(gè)月 百度地圖標(biāo)注要什么軟件

簡(jiǎn)介

Part1:寫在最前

    OneProxy平民軟件完全自主開發(fā)的分布式數(shù)據(jù)訪問(wèn)層,幫助用戶在MySQL/PostgreSQL集群上快速搭建支持分庫(kù)分表的分布式數(shù)據(jù)庫(kù)中間件,也是一款具有SQL白名單(防SQL注入)及IP白名單功能的SQL防火墻軟件。采用與MySQL Proxy一致的反向協(xié)議輸出模式,對(duì)應(yīng)用非常簡(jiǎn)單和透明易用,讓用戶畏懼的數(shù)據(jù)庫(kù)故障切換(Failover)、讀寫分離(Read/Write Split)、分庫(kù)分表(Horizontal Partitioning)等復(fù)雜方案變得極其簡(jiǎn)單可控!基于Libevent機(jī)制實(shí)現(xiàn),單個(gè)實(shí)例可以實(shí)現(xiàn)25萬(wàn)的SQL轉(zhuǎn)發(fā)能力,用一個(gè)OneProxy節(jié)點(diǎn)可以帶動(dòng)整個(gè)MySQL集群,為業(yè)務(wù)發(fā)展貢獻(xiàn)一份力量。

Part2:環(huán)境簡(jiǎn)介

HE1:192.168.1.248 slave1

HE2:192.168.1.249 slave2

HE3:192.168.1.250 Master

HE4:192.168.1.251 Oneproxy

環(huán)境構(gòu)建

Part1:安裝Oneproxy

[root@HE4 ~]# tar xvf oneproxy-rhel5-linux64-v5.8.5-ga.tar.gz
[root@HE4 oneproxy]# ls
bin conf demo.sh log oneproxy.service README testadmin.sql testautocommit.sql testproxy.sql trantest.sql

Part2:構(gòu)建主從環(huán)境

本文的架構(gòu)是一主兩從,HE3作為Master,HE1,HE2作為Slave。主從的構(gòu)建不是本文的重點(diǎn),需要的可移步:

如何快速使用mysqlreplicate搭建MySQL主從

Part3:配置Oneproxy

目錄中的demo是初次啟動(dòng)腳本,oneproxy.service是啟停腳本,在新版的oneproxy中,conf文件夾的proxy.cnf為配置文件

[root@HE4 oneproxy]# cat demo.sh 
#/bin/bash
#
export ONEPROXY_HOME=/root/oneproxy
# valgrind --leak-check=full \

 ${ONEPROXY_HOME}/bin/oneproxy --defaults-file=${ONEPROXY_HOME}/conf/proxy.conf

我們將demo.sh中的ONEPROXY_HOME變更為解壓oneproxy時(shí)所在的目錄

[root@HE4 oneproxy]# cat oneproxy.service 
#!/bin/bash
# chkconfig: - 30 21
# description: OneProxy service.
# Source Function Library
. /etc/init.d/functions
# OneProxy Settings
ONEPROXY_HOME=/root/oneproxy
ONEPROXY_SBIN="${ONEPROXY_HOME}/bin/oneproxy"
ONEPROXY_CONF="${ONEPROXY_HOME}/conf/proxy.conf"
ONEPROXY_PID="${ONEPROXY_HOME}/log/oneproxy.pid"
RETVAL=0
prog="OneProxy"
start() {
 echo -n $"Starting $prog ... "
 daemon $ONEPROXY_SBIN --defaults-file=$ONEPROXY_CONF
RETVAL=$?
echo
}
stop() {
 echo -n $"Stopping $prog ... "
if [ -e ${ONEPROXY_PID} ]; then
daemon kill -INT $(cat ${ONEPROXY_PID})
 RETVAL=$?
fi
echo
}
restart(){
 stop
sleep 1
 start
}
case "$1" in
 start)
 start
 ;;
 stop)
 stop
 ;;
 restart)
 restart
 ;;
 *)
 echo $"Usage: $0 {start|stop|restart}"
 RETVAL=1
esac
exit $RETVAL

同時(shí),將oneproxy.service中的ONEPROXY_HOME也改為解壓時(shí)的目錄

進(jìn)入oneproxy中的bin目錄,使用mysqlpwd對(duì)密碼進(jìn)行加密

[root@HE4 oneproxy]# cd bin/

[root@HE4 bin]# ls

mysqlpwd oneproxy

[root@HE4 bin]# ./mysqlpwd MANAGER

1C6D087BA5D2607A27DECB2F2AFE247E911E877A

編輯proxy.cnf中的內(nèi)容

[root@HE4 conf]# cat proxy.conf 
[oneproxy]
keepalive = 1
event-threads = 4
proxy-group-policy.2 = test:read-slave
log-file = log/oneproxy.log
pid-file = log/oneproxy.pid
lck-file = log/oneproxy.lck
proxy-auto-readonly = 1
proxy-forward-clientip = 1
proxy-trans-debug = 1
proxy-address = :3307
mysql-version = 5.7.16
proxy-master-addresses.1 = 192.168.1.250:3306@test
proxy-slave-addresses.2 = 192.168.1.248:3306@test
proxy-slave-addresses.3 = 192.168.1.249:3306@test
proxy-user-list = sys_admin/1C6D087BA5D2607A27DECB2F2AFE247E911E877A@test
proxy-user-group = test:sys_admin/1C6D087BA5D2607A27DECB2F2AFE247E911E877A@test
proxy-part-template = conf/template.txt
proxy-part-tables.1 = conf/part.txt
proxy-part-tables.2 = conf/part2.txt
proxy-part-tables.3 = conf/cust1.txt
proxy-charset = utf8_bin
proxy-secure-client = 127.0.0.1
# proxy-license = 32C54560E06EFF3E
proxy-httpserver = :8080
proxy-httptitle = OneProxy Monitor

Part4:啟動(dòng)Oneproxy

[root@HE4 oneproxy]# ./demo.sh

[root@HE4 oneproxy]# ./oneproxy.service restart

Stopping OneProxy ... [ OK ]

Starting OneProxy ... [ OK ]

測(cè)試

Part1:Oneproxy狀態(tài)校驗(yàn)

瀏覽器打開192.168.1.251:8080端口能夠看到oneproxy的管理頁(yè)面

這里可以看到主從的各種狀態(tài)信息。

Part2:負(fù)載均衡與讀寫分離校驗(yàn)

[root@HE1 ~]# mysql -usys_admin -pMANAGER -h192.168.1.251 -P3307 -e"select @@hostname;"
mysql: [Warning] Using a password on the command line interface can be insecure.
+------------+
| @@hostname |
+------------+
| HE1 |
+------------+
[root@HE1 ~]# mysql -usys_admin -pMANAGER -h192.168.1.251 -P3307 -e"select @@hostname;"
mysql: [Warning] Using a password on the command line interface can be insecure.
+------------+
| @@hostname |
+------------+
| HE2 |
+------------+
[root@HE1 ~]# mysql -usys_admin -pMANAGER -h192.168.1.251 -P3307 -e"select @@hostname;"
mysql: [Warning] Using a password on the command line interface can be insecure.
+------------+
| @@hostname |
+------------+
| HE1 |
+------------+
[root@HE1 ~]# mysql -usys_admin -pMANAGER -h192.168.1.251 -P3307 -e"select @@hostname;"
mysql: [Warning] Using a password on the command line interface can be insecure.
+------------+
| @@hostname |
+------------+
| HE2 |
+------------+
[root@HE1 ~]# mysql -usys_admin -pMANAGER -h192.168.1.251 -P3307 -e"select @@hostname;"
mysql: [Warning] Using a password on the command line interface can be insecure.
+------------+
| @@hostname |
+------------+
| HE1 |
+------------+
[root@HE1 ~]# mysql -usys_admin -pMANAGER -h192.168.1.251 -P3307 -e"begin;select @@hostname;commit;"
mysql: [Warning] Using a password on the command line interface can be insecure.
+------------+
| @@hostname |
+------------+
| HE3 |
+------------+
[root@HE1 ~]# mysql -usys_admin -pMANAGER -h192.168.1.251 -P3307 -e"begin;select @@hostname;commit;"
mysql: [Warning] Using a password on the command line interface can be insecure.
+------------+
| @@hostname |
+------------+
| HE3 |
+------------+

可以看到HE1,HE2兩個(gè)slave作為負(fù)載均衡沒(méi)有問(wèn)題,HE3作為寫服務(wù)器也沒(méi)有問(wèn)題。

——總結(jié)——

OneProxy配合MySQL實(shí)現(xiàn)讀寫分離與負(fù)載均衡實(shí)驗(yàn)構(gòu)建成功,Oneproxy還具有分庫(kù)分表功能,今后會(huì)進(jìn)一步研究。由于筆者的水平有限,編寫時(shí)間也很倉(cāng)促,文中難免會(huì)出現(xiàn)一些錯(cuò)誤或者不準(zhǔn)確的地方,不妥之處懇請(qǐng)讀者批評(píng)指正。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • 詳解Mysql雙機(jī)熱備和負(fù)載均衡的實(shí)現(xiàn)步驟
  • 利用MySQL系統(tǒng)數(shù)據(jù)庫(kù)做性能負(fù)載診斷的方法
  • MySQL如何實(shí)現(xiàn)負(fù)載均衡功能
  • 如何使用nginx充當(dāng)mysql的負(fù)載均衡器
  • 基于mysql+mycat搭建穩(wěn)定高可用集群負(fù)載均衡主備復(fù)制讀寫分離操作
  • python實(shí)現(xiàn)mysql的讀寫分離及負(fù)載均衡
  • Keepalived+HAProxy實(shí)現(xiàn)MySQL高可用負(fù)載均衡的配置
  • 分析MySQL中索引引引發(fā)的CPU負(fù)載飆升的問(wèn)題
  • 快速增加MYSQL數(shù)據(jù)庫(kù)連接數(shù)負(fù)載能力的方法分享
  • 具有負(fù)載均衡功能的MySQL服務(wù)器集群部署及實(shí)現(xiàn)
  • mysql CPU高負(fù)載問(wèn)題排查

標(biāo)簽:荊門 北京 昌都 梅河口 駐馬店 黔西 鄂爾多斯 陜西

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《在OneProxy的基礎(chǔ)上實(shí)行MySQL讀寫分離與負(fù)載均衡》,本文關(guān)鍵詞  在,OneProxy,的,基礎(chǔ)上,實(shí)行,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《在OneProxy的基礎(chǔ)上實(shí)行MySQL讀寫分離與負(fù)載均衡》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于在OneProxy的基礎(chǔ)上實(shí)行MySQL讀寫分離與負(fù)載均衡的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 宜章县| 贵定县| 申扎县| 泽库县| 民勤县| 白河县| 织金县| 东光县| 宜都市| 五河县| 磴口县| 上杭县| 岢岚县| 错那县| 南岸区| 高青县| 额济纳旗| 宁陵县| 乌兰浩特市| 和平区| 翼城县| 儋州市| 于田县| 油尖旺区| 兰西县| 图木舒克市| 西乌| 三亚市| 云霄县| 神木县| 海晏县| 澳门| 海宁市| 孟津县| 客服| 南平市| 互助| 晋州市| 正宁县| 柘城县| 清涧县|