Mysql讀寫(xiě)分離
客戶端訪問(wèn)數(shù)據(jù)的查詢請(qǐng)求和寫(xiě)請(qǐng)求分別給不同的數(shù)據(jù)庫(kù)服務(wù)器處理
為什么要數(shù)據(jù)讀寫(xiě)分離
減輕單臺(tái)服務(wù)器的并發(fā)訪問(wèn)壓力,提高機(jī)器硬件的利用率
處理寫(xiě)數(shù)據(jù)的服務(wù)器做master,讀數(shù)據(jù)服務(wù)器做slave
配置數(shù)據(jù)讀寫(xiě)分離(Maxscale 主從同步)
1.部署一主(101)兩從(102,103)
2.在150上安裝maxscale-2.1.2-1.rhel.7.x86_64.rpm
修改配置文件:/etc/maxscale.cnf,添加兩個(gè)server
[maxscale]
threads=auto #運(yùn)行的線程的數(shù)量
[server1] #定義數(shù)據(jù)庫(kù)服務(wù)器
type=server
address=10.10.10.101
port=3306
protocol=MySQLBackend #后端數(shù)據(jù)庫(kù)
[server2]
type=server
address=10.10.10.102
port=3306
protocol=MySQLBackend
[server3]
type=server
address=10.10.10.103
port=3306
protocol=MySQLBackend
[MySQL Monitor] #定義監(jiān)控的數(shù)據(jù)庫(kù)服務(wù)器
type=monitor
module=mysqlmon
servers=server1,server2,server3 #監(jiān)控的數(shù)據(jù)庫(kù)列表,不能寫(xiě)ip
user=scalemon #監(jiān)視數(shù)據(jù)庫(kù)服務(wù)器時(shí)連接的用戶名scalemon
passwd=123456 #密碼123456
monitor_interval=10000 #監(jiān)視的頻率 單位為秒
[Read-Write Service] #定義讀寫(xiě)分離服務(wù)
type=service
router=readwritesplit
servers=server1,server2,server3
user=maxscaled #用戶名 驗(yàn)證連接代理服務(wù)時(shí)訪問(wèn)數(shù)據(jù)庫(kù)服務(wù)器的用戶是否存在
passwd=123456
max_slave_connections=100%
[MaxAdmin Service] #定義管理服務(wù)
type=service
router=cli
[Read-Write Listener] #讀寫(xiě)服務(wù)使用的端口號(hào)
type=listener
service=Read-Write Service
protocol=MySQLClient
port=4006
[MaxAdmin Listener] #管理服務(wù)使用的端口號(hào)
type=listener
service=MaxAdmin Service
protocol=maxscaled
socket=default
port=4099 #手動(dòng)添加,不指定時(shí)使用的是默認(rèn)端口在啟動(dòng)服務(wù)以后可以知道默認(rèn)端口是多少
3.根據(jù)配置文件的設(shè)置在兩臺(tái)服務(wù)器上添加監(jiān)控用戶和路由用戶
replication slave #監(jiān)控主從同步 replication client #監(jiān)控服務(wù)狀態(tài)
grant replication slave,replication client on *.* to scalemon@"%" identified by "123456"
grant select on mysql.user to maxscaled@"%" identified by "123456"
4.在150上啟動(dòng)服務(wù)
驗(yàn)證授權(quán)用戶
啟動(dòng)服務(wù):maxscale -f /etc/maxscale.cnf
停止服務(wù):killall -9 maxscale
5.測(cè)試配置
查看管理信息(150主機(jī)自己訪問(wèn)自己)
maxadmin -uadmin -pmariadb -P4099
list servers
客戶端連接57訪問(wèn)數(shù)據(jù)
6.測(cè)試數(shù)據(jù)讀寫(xiě)分離
在主數(shù)據(jù)庫(kù)上授權(quán)訪問(wèn)的用戶
客戶端連接中間件服務(wù)器:mysql -h10.10.10.150 -P4006 -uyaya8 -p123456
來(lái)源:https://www./content-2-325901.html