国产探花免费观看_亚洲丰满少妇自慰呻吟_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

(編輯:武林網)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 临江市| 磐安县| 乐陵市| 浦县| 桐梓县| 大方县| 阿拉善右旗| 永丰县| 榕江县| 湟中县| 轮台县| 晴隆县| 嘉善县| 吐鲁番市| 秦皇岛市| 日喀则市| 安岳县| 乌海市| 哈巴河县| 东台市| 合作市| 江山市| 射阳县| 金坛市| 象州县| 双流县| 乌兰县| 黄平县| 罗山县| 马鞍山市| 汉川市| 福州市| 饶阳县| 万全县| 黑水县| 金塔县| 乳源| 房产| 漠河县| 武清区| 水富县|