MariaDB MaxScale 2.1.3中間件數據庫讀寫分離安裝配置

操作系統:CentOS Linux release 7.3.1611 (Core)

數據庫:MariaDB-10.2.6-linux-glibc_214-x86_64

MaxScale服務器:10.200.10.55

主服務器:172.16.8.56

從服務器:172.16.8.57

從服務器:172.16.8.58

1.maxscale的安裝方式有很多,例如源碼安裝、rpm、二進制構建等,我選擇二進制進行安裝。

根據場景需要下載相對應的版本,下載地址;https://mariadb.com/downloads/maxscale

[root@localhost ~]# groupadd maxscale

[root@localhost ~]# useradd -g maxscale maxscale

[root@localhost ~]# cd /usr/local

[root@localhost local]# wget https://downloads.mariadb.com/MaxScale/2.1.3/centos/7server/x86_64/maxscale-2.1.3.centos.7.tar.gz

[root@localhost local]# tar zxvf maxscale-2.1.3.centos.7.tar.gz

[root@localhost local]# ln -s maxscale-2.1.3.centos.7 maxscale

[root@localhost local]# cd maxscale

[root@zhu56 maxscale]# chown -R maxscale var

建議創建軟連接,這樣有助于以后的版本升級及后期維護。

2.首次安裝maxscale需要創建日志相關目錄

[root@localhost ~]# mkdir /var/log/maxscale

[root@localhost ~]# mkdir /var/lib/maxscale

[root@localhost ~]# mkdir /var/run/maxscale

[root@localhost ~]# mkdir /var/cache/maxscale

3.以下目錄必須具備maxscala用戶權限

[root@localhost ~]# chown maxscale /var/log/maxscale

[root@localhost ~]# chown maxscale /var/lib/maxscale

[root@localhost ~]# chown maxscale /var/run/maxscale

[root@localhost ~]# chown maxscale /var/cache/maxscale

4.為了能讓Maxscale能順利啟動,還需要創建配置文件,在Maxscale目錄下有配置文件模板拷貝到etc下即可。

[root@localhost ~]# cp /usr/local/maxscale/etc/maxscale.cnf.template /etc/maxscale.cnf

5.在修改配置文件之前,需要在主服務器上創建一個用戶并給予授權,而這個用戶用于MySQL監控、路由功能

MariaDB [(none)]> create user 'jiankongdb'@'%' identified by 'jiankong123';

MariaDB [(none)]> grant SELECT on mysql.user to 'jiankongdb'@'%';

MariaDB [(none)]> GRANT SELECT ON mysql.db TO 'jiankongdb'@'%';

MariaDB [(none)]> GRANT SELECT ON mysql.tables_priv TO 'jiankongdb'@'%';

MariaDB [(none)]> GRANT SHOW DATABASES ON *.* TO 'jiankongdb'@'%';

MariaDB [(none)]> grant REPLICATION CLIENT on *.* to 'jiankongdb'@'%';

MariaDB [(none)]> GRANT replication slave, replication client,SELECT ON *.* TO jiankongdb@'%';

6.查看授權情況

MariaDB [(none)]> SHOW GRANTS FOR'jiankong'@'%';

7.接下來就開始修改maxscale.cnf配置文件,否則無法啟動。

[root@localhost ~]# vim /etc/maxscale.cnf

# MaxScale documentation on GitHub:

# https://github.com/mariadb-corporation/MaxScale/blob/2.1/Documentation/Documentation-Contents.md

# Global parameters

#

# Complete list of configuration options:

# https://github.com/mariadb-corporation/MaxScale/blob/2.1/Documentation/Getting-Started/Configuration-Guide.md

#全局配置

[maxscale]

threads=1

# Server definitions

#

# Set the address of the server to the network

# address of a MySQL server.

#

[server1]

type=server

address=172.16.8.56

port=3306

protocol=MySQLBackend

serv_weight=1

[server2]

type=server

address=172.16.8.57

port=3306

protocol=MySQLBackend

serv_weight=3

[server3]

type=server

address=172.16.8.58

port=3306

protocol=MySQLBackend

serv_weight=3

# Monitor for the servers

#

# This will keep MaxScale aware of the state of the servers.

# MySQL Monitor documentation:

# https://github.com/mariadb-corporation/MaxScale/blob/2.1/Documentation/Monitors/MySQL-Monitor.md

#MariaDB狀態監控

[MySQL Monitor]

type=monitor

module=mysqlmon

servers=server1,server2,server3

user=jiankong

passwd=jiankong123

monitor_interval=10000

detect_stale_master=true #即使從全掛掉,保證主擔任讀寫

# Service definitions

#

# Service Definition for a read-only service and

# a read/write splitting service.

#

# ReadConnRoute documentation:

# https://github.com/mariadb-corporation/MaxScale/blob/2.1/Documentation/Routers/ReadConnRoute.md

#讀

[Read-Only Service]

type=service

router=readconnroute

servers=server1,server2,server3

user=jiankong

passwd=jiankong123

router_options=slave

enable_root_user=1 #允許root用戶登錄執行

weightby=serv_weight #主從權重

# ReadWriteSplit documentation:

# https://github.com/mariadb-corporation/MaxScale/blob/2.1/Documentation/Routers/ReadWriteSplit.md

#寫

[Read-Write Service]

type=service

router=readwritesplit

servers=server1,server2,server3

user=jiankong

passwd=jiankong123

max_slave_connections=100%

use_sql_variables_in=master #保證會話的一致性

enable_root_user=1 #允許root登錄

max_slave_replication_lag=3600 #允許從超出主的同步時間,超出則不路由

# This service enables the use of the MaxAdmin interface

# MaxScale administration guide:

# https://github.com/mariadb-corporation/MaxScale/blob/2.1/Documentation/Reference/MaxAdmin.md

[MaxAdmin Service]

type=service

router=cli

# Listener definitions for the services

#

# These listeners represent the ports the

# services will listen on.

#

[Read-Only Listener]

type=listener

service=Read-Only Service

protocol=MySQLClient

port=4008

[Read-Write Listener]

type=listener

service=Read-Write Service

protocol=MySQLClient

port=4006

[MaxAdmin Listener]

type=listener

service=MaxAdmin Service

protocol=maxscaled

socket=default

保存并退出。

8.下面創建啟動腳本

[root@localhost ~]# cp /usr/local/maxscale-2.1.3.centos.7/share/maxscale.service /usr/lib/systemd/system/

[root@localhost ~]# vim /usr/lib/systemd/system/maxscale.service

9.修改maxscale.service中的ExecStart=///bin/maxscale為ExecStart=/usr/local/maxscale/bin/maxscale

[root@localhost ~]# chmod 755 /usr/lib/systemd/system/maxscale.service

[root@localhost ~]# systemctl enable maxscale

[root@localhost ~]# systemctl daemon-reload

[root@localhost ~]# systemctl start maxscale

10.添加變量值

[root@localhost ~]# vi /etc/profile //最后一行添加以下內容保存退出!

PATH=$PATH:/usr/local/maxscale/bin

export PATH

[root@localhost ~]# source /etc/profile //使其變量立即生效

11.接下來就可以使用MaxAdmin進行管理。MaxAdmin是一個簡單的客戶端管理界面,可用于與MariaDB MaxScale服務器進行交互,可以顯示MariaDB MaxScale內部的統計信息狀態以及對MariaDB MaxScale操作的控制。詳情:

https://mariadb.com/kb/en/mariadb-enterprise/maxadmin-admin-interface/

[root@localhost ~]# maxadmin //回車

MaxScale> list servers

Servers.

---------------+--------------+-------+-------------+-----------------

Server | Address | Port | Connections | Status

---------------+--------------+-------+-------------+-----------------

server1 | 172.16.8.56 | 3306 | 0 | Master, Running

server2 | 172.16.8.57 | 3306 | 0 | Slave, Running

server2 | 172.16.8.58 | 3306 | 0 | Slave, Running

---------------+--------------+-------+-------------+-----------------

12.至此MaxScale已經配置完成?,F在就可以使用客戶端連接Maxscale服務器端 端口為4006。

版權聲明:本站原創文章,歡迎任何形式的轉載。

轉載請注明:MariaDB MaxScale 2.1.3中間件數據庫讀寫分離安裝配置 | 任我樂

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,001評論 6 537
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,786評論 3 423
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事?!?“怎么了?”我有些...
    開封第一講書人閱讀 176,986評論 0 381
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,204評論 1 315
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,964評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,354評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,410評論 3 444
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,554評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,106評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,918評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,093評論 1 371
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,648評論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,342評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,755評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,009評論 1 289
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,839評論 3 395
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,107評論 2 375

推薦閱讀更多精彩內容