国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

使用Maxscale實現mysql讀寫分離

2024-07-24 12:36:18
字體:
來源:轉載
供稿:網友
  MaxScale 是 MariaDB 的產品之一,可以很方便的實現讀寫分離方案;并且提供了讀寫分離的負載均衡和高可用性保障。
 
  一、安裝配置
 
  前提:先配置好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
 
  #監控配置
  [MySQL Monitor]
  type=monitor
  module=mysqlmon      #監控模塊默認使用mysqlmon,當然還有其他可選擇的模塊
  servers=server1,server2
  user=admin        #admin監控后端mysql的復制狀況,必須具有REPLICATION CLIENT權限      
  passwd=123456
  monitor_interval=10000
 
  #觸發器定義 注意,以下兩句的上下順序不能變,不然無法生效
  script=/opt/mysql_monitor.sh  #定義事件觸發腳本執行
  events=master_down       #事件觸發器當master down時,執行上面的腳本,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
 
  #管理服務監聽
  [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默認只提供讀的高可用性,要實現寫的高可用性,可以使用兩種途徑:
 
  1.需要使用Multi-MasterMonitor監控模塊,不同于上文使用的mysqlmon模塊,該模塊是通過read_only參數來選舉Master和Slave,結合腳本可以實現在Master fail的時候,取消slave的read_only屬性,將slave提升為Master
 
  2.使用高可用軟件MMM

(編輯:武林網)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 大关县| 遵化市| 乐都县| 广饶县| 探索| 连山| 鄯善县| 衡水市| 舒城县| 昂仁县| 盘山县| 永安市| 伊川县| 浠水县| 青浦区| 新邵县| 宁强县| 东方市| 黑山县| 汕头市| 屯留县| 乐至县| 廊坊市| 四会市| 老河口市| 深水埗区| 抚松县| 桃源县| 红原县| 进贤县| 嘉祥县| 和田县| 衡阳县| 红安县| 闵行区| 凉城县| 读书| 石台县| 长兴县| 南召县| 临泽县|