OneProxy6.1.3 讀寫分離配置

oneproxy基於一主一從的MySQL 讀寫分離配置步驟

環境準備:
a. 搭建好MySQL 主從複製環境
b. 下載並安裝好oneproxy,並能正常啓動

oneproxy讀寫分離配置
1.MySQL Master上建立三個用戶
a)metadb用戶,創建oneproxy schema的庫和表。
create database oneproxy;
GRANT SELECT, INSERT, UPDATE, DELETE,CREATE ON oneproxy.* TO ‘metadb’@’127.0.0.1’ IDENTIFIED BY ‘123456’;

b)repadmin 主從複製監控用戶
GRANT REPLICATION SLAVE, REPLICATION CLIENT ON . TO ‘repadmin’@’%’ IDENTIFIED BY ‘123456’;

GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP ON test.* TO ‘repadmin’@’%’ ;

c)訪問mysql的業務用戶
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP ON test.* TO ‘test’@’%’ IDENTIFIED BY ‘123456’;

2.用oneproxy帶的mysqlpwd對密碼進行加密
/oneproxy/bin/mysqlpwd 123456
9D7E55EAF8912CCBF32069443FAC452794F8941B

/oneproxy/bin/mysqlpwd 123
956C97523BADD23B6091B09E332A77B5CBDBBEEF

3.在/oneproxy/conf/proxy.conf中添加如下配置
metadb-username = metadb
metadb-password = 9D7E55EAF8912CCBF32069443FAC452794F8941B
metadb-address = 172.25.18.94:3316

proxy-user-list = oneuser/956C97523BADD23B6091B09E332A77B5CBDBBEEF@test
proxy-user-group = server1:test/9D7E55EAF8912CCBF32069443FAC452794F8941B@test

repadmin-username = repadmin
repadmin-password = 9D7E55EAF8912CCBF32069443FAC452794F8941B

proxy-master-addresses = 172.25.18.94:3316@server1
proxy-slave-addresses = 172.25.1814:3316@server1
proxy-secure-client = 172.25.18.94
proxy-group-security = server1:4
proxy-group-policy = server1:read_slave
proxy-group-slavedelay = server1:2
proxy-replication-check = 1
proxy-force-master = t2

4.重啓oneproxy

5.驗證讀寫分離
可根據返回的server_id判斷請求轉發到master還是slave上。
也可以打開general_log ,觀察sql執行情況。

正常情況begin;select @@server_id;commit; 轉發到mastr上;
select @@server_id ;轉發到slave上;

mysql -utest -p123 -h172.25.18 -P3307 -e “begin;select @@server_id;commit;”

mysql -utest -p123 -h172.25.18 -P3307 -e “select @@server_id;”

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章