MaxScale 是 MariaDB 的產品之一,可以很方便的實現(xiàn)讀寫分離方案;并且提供了讀寫分離的負載均衡和高可用性保障。
10年積累的成都網站制作、網站建設、外貿網站建設經驗,可以快速應對客戶對網站的新想法和需求。提供各種問題對應的解決方案。讓選擇我們的客戶得到更好、更有力的網絡服務。我雖然不認識你,你也不認識我。但先做網站設計后付款的網站建設流程,更有宜賓免費網站建設讓你可以放心的選擇與我們合作。
一、安裝配置
前提:先配置好MySQL的主從,Maxscale會自動的根據主從復制信息來判斷Master和slave
注:不能配置mysql互為主從,如果互為主從,兩臺都會被認為slave,在這種情況下,寫請求會被拒絕,只接受讀請求。
1.1.安裝
官網下載對應的rpm包,
wget https://downloads.mariadb.com/MaxScale/2.0.3/centos/6server/x86_64/maxscale-2.0.3-1.centos.6.x86_64.rpm rpm -ivh maxscale-2.0.3-1.centos.6.x86_64.rpm
maxscale的配置文件為:/etc/maxscale.conf,配置文件由多個配置模塊組成
vi /etc/maxscale.conf #全局配置: [maxscale] threads=auto log_info=1 log_notice=1 log_warning=1 #后端mysql定義 [server1] type=server address=192.168.10.1 port=3306 protocol=MySQLBackend [server2] type=server address=192.168.10.2 port=3306 protocol=MySQLBackend #監(jiān)控配置 [MySQL Monitor] type=monitor module=mysqlmon #監(jiān)控模塊默認使用mysqlmon,當然還有其他可選擇的模塊 servers=server1,server2 user=admin #admin監(jiān)控后端mysql的復制狀況,必須具有REPLICATION CLIENT權限 passwd=123456 monitor_interval=10000 #觸發(fā)器定義 注意,以下兩句的上下順序不能變,不然無法生效 script=/opt/mysql_monitor.sh #定義事件觸發(fā)腳本執(zhí)行 events=master_down #事件觸發(fā)器當master down時,執(zhí)行上面的腳本,maxscale內置了很 多的events #讀寫分離service [Read-Write Service] type=service router=readwritesplit #讀寫分離路由模式 servers=server1,server2 user=maxscale #該用戶從后端mysql獲取用戶信息,對客戶端進行身份驗證,必須具有mysql.user table的select權限 passwd=maxscale max_slave_connections=100% max_slave_replication_lag=3600000 #當slave的數據落后master小于3600秒時仍然可用 connection_timeout=300 router_options=master_failure_mode=error_on_write #允許master down掉,slave仍然可讀 #router_options=master_accept_reads=true #允許master接受讀請求 [Read-Write Listener] type=listener service=Read-Write Service protocol=MySQLClient port=3306 #管理服務配置 [MaxAdmin Service] type=service router=cli #管理服務監(jiān)聽 [MaxAdmin Listener] type=listener service=MaxAdmin Service protocol=maxscaled socket=default
二、管理
Maxscale提供了maxadmin命令用于查看管理
[root@server ~]# maxadmin list - Unknown or missing option for the list command. Valid sub-commands are: clients List all the client connections to MaxScale dcbs List all the DCBs active within MaxScale filters List all the filters defined within MaxScale listeners List all the listeners defined within MaxScale modules List all currently loaded modules monitors List all monitors services List all the services defined within MaxScale servers List all the servers defined within MaxScale sessions List all the active sessions within MaxScale threads List the status of the polling threads in MaxScale
[root@server ~]# maxadmin list servers Servers. -------------------+-----------------+-------+-------------+-------------------- Server | Address | Port | Connections | Status -------------------+-----------------+-------+-------------+-------------------- server1 | 192.168.10.1 | 3306 | 0 | Master, Running server2 | 192.168.10.2 | 3306 | 0 | Slave, Running -------------------+-----------------+-------+-------------+--------------------
三、高可用性
Maxscale默認只提供讀的高可用性,要實現(xiàn)寫的高可用性,可以使用兩種途徑:
1.需要使用Multi-MasterMonitor監(jiān)控模塊,不同于上文使用的mysqlmon模塊,該模塊是通過read_only參數來選舉Master和Slave,結合腳本可以實現(xiàn)在Master fail的時候,取消slave的read_only屬性,將slave提升為Master
2.使用高可用軟件MMM
當前題目:使用Maxscale實現(xiàn)mysql讀寫分離
網址分享:http://aaarwkj.com/article42/igegec.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供Google、軟件開發(fā)、企業(yè)建站、網站策劃、電子商務、網站營銷
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)