【MYsql】Maxscale中介軟體使用

小亮520cl發表於2016-07-29
背景:
  1. 規劃
    192.168.6.114 mysql master
    192.168.6.115
    mysql salve1
    192.168.6.119 mysql slave2
    192.168.6.121 maxscale

    搭建114 115 119的一主兩叢結構並開啟半同步複製,和搭建mha一樣
  2. 在搭建完主從後我們還需要在資料庫建一個用於monitor的使用者,同時建好後面測試的使用者:
    mysql> grant all privileges on *.* to 'max'@'%' identified by 'ESBecs00';   ---為了省事就用這一個使用者吧 






1安裝maxscale

  1. 下載連結:
  2. 本次部落格安裝的是
  3. maxscale-beta-1.3.0-1.centos5.x86_64.rpm 該版本

2 修改配置檔案

  1. 安裝完後會在/etc/目錄下生成模板配置檔案
  2. [root@localhost etc]# ls maxscale.cnf.template     
    maxscale.cnf.template

  3. 寫一個配置檔案(每個版本的配置檔案不一樣,最好是cp模板配置檔案來修改)
    1. [root@localhost etc]# more maxscale.cnf
    2. # MaxScale documentation on GitHub:
    3. # https://github.com/mariadb-corporation/MaxScale/blob/master/Documentation/Documentation-Contents.md

    4. # Global parameters
    5. #
    6. # Number of threads is autodetected, uncomment for manual configuration
    7. # Complete list of configuration options:
    8. # https://github.com/mariadb-corporation/MaxScale/blob/master/Documentation/Getting-Started/Configuration-Guide.md

    9. [maxscale]
    10. threads=8

    11. # Server definitions
    12. #
    13. # Set the address of the server to the network
    14. # address of a MySQL server.
    15. #

    16. [server1]
    17. type=server
    18. address=192.168.6.114
    19. port=3306
    20. protocol=MySQLBackend

    21. [server2]
    22. type=server
    23. address=192.168.6.115
    24. port=3306
    25. protocol=MySQLBackend

    26. [server3]
    27. type=server
    28. address=192.168.6.119
    29. port=3306
    30. protocol=MySQLBackend

    31. # Monitor for the servers
    32. #
    33. # This will keep MaxScale aware of the state of the servers.
    34. # MySQL Monitor documentation:
    35. # https://github.com/mariadb-corporation/MaxScale/blob/master/Documentation/Monitors/MySQL-Monitor.md

    36. [MySQL Monitor]
    37. type=monitor
    38. module=mysqlmon
    39. servers=server1,server2,server3
    40. user=max
    41. passwd=ESBecs00
    42. monitor_interval=10000

    43. # Service definitions
    44. #
    45. # Service Definition for a read-only service and
    46. # a read/write splitting service.
    47. #

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

    49. [Read-Only Service]                       ###只讀服務
    50. type=service
    51. router=readconnroute
    52. servers=server1,server2,server3
    53. user=max
    54. passwd=ESBecs00
    55. router_options=slave

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

    57. [Read-Write Service]                       ####寫服務
    58. type=service
    59. router=readwritesplit
    60. servers=server1
    61. user=max
    62. passwd=ESBecs00
    63. max_slave_connections=100%

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

    65. [MaxAdmin Service]
    66. type=service
    67. router=cli


    68. [Read-Only Listener]
    69. type=listener
    70. service=Read-Only Service
    71. protocol=MySQLClient
    72. port=4008                                  ##讀服務啟動監聽 埠4008

    73. [Read-Write Listener]
    74. type=listener
    75. service=Read-Write Service
    76. protocol=MySQLClient
    77. port=4006                                  ####寫服務啟動監聽 埠

    78. [MaxAdmin Listener]
    79. type=listener
    80. service=MaxAdmin Service
    81. protocol=maxscaled
    82. port=6603                                   ###管理埠



3 啟動maxscale服務

  1.   [root@localhost etc]# /etc/init.d/maxscale start
    Starting MaxScale:  found maxscale (pid 
    14126) 正在執行...                                         [確定]
  2. 檢視message日誌
    1. [root@localhost ~]# tail -f /var/log/messages
    2. Jul 29 17:04:33 localhost maxscale[14035]: Configuration file: /etc/maxscale.cnf
    3. Jul 29 17:04:33 localhost maxscale[14035]: Log directory: /var/log/maxscale               ------日誌目錄
    4. Jul 29 17:04:33 localhost maxscale[14035]: Data directory: /var/lib/maxscale/data
    5. Jul 29 17:04:33 localhost maxscale[14035]: Module directory: /usr/lib64/maxscale
    6. Jul 29 17:04:33 localhost maxscale[14035]: Service cache: /var/cache/maxscale
    7. Jul 29 17:04:33 localhost maxscale[14035]: Initialise CLI router module V1.0.0.
    8. Jul 29 17:04:33 localhost maxscale[14035]: Loaded module cli: V1.0.0 from /usr/lib64/maxscale/libcli.so
    9. Jul 29 17:04:33 localhost maxscale[14035]: Initializing statemend-based read/write split router module.
    10. Jul 29 17:04:33 localhost maxscale[14035]: Loaded module readwritesplit: V1.0.2 from /usr/lib64/maxscale/libreadwritesplit.so
    11. Jul 29 17:04:33 localhost maxscale[14035]: Initialise readconnroute router module V1.1.0.
    12. Jul 29 17:04:33 localhost maxscale[14035]: Loaded module readconnroute: V1.1.0 from /usr/lib64/maxscale/libreadconnroute.so
    檢視日誌:
  3. [root@localhost maxscale]# tail -f maxscale1.log 
    1. MariaDB Corporation MaxScale    /var/log/maxscale/maxscale1.log Fri Jul 29 17:09:46 2016
      -----------------------------------------------------------------------
      2016-07-29 17:09:46   notice : Configuration file: /etc/maxscale.cnf
      2016-07-29 17:09:46   notice : Log directory: /var/log/maxscale
      2016-07-29 17:09:46   notice : Data directory: /var/lib/maxscale/data
      2016-07-29 17:09:46   notice : Module directory: /usr/lib64/maxscale
      2016-07-29 17:09:46   notice : Service cache: /var/cache/maxscale
      2016-07-29 17:09:46   notice : Initialise CLI router module V1.0.0.
      2016-07-29 17:09:46   notice : Loaded module cli: V1.0.0 from /usr/lib64/maxscale/libcli.so
      2016-07-29 17:09:46   notice : Initializing statemend-based read/write split router module.
      2016-07-29 17:09:46   notice : Loaded module readwritesplit: V1.0.2 from /usr/lib64/maxscale/libreadwritesplit.so
      2016-07-29 17:09:46   notice : Initialise readconnroute router module V1.1.0.
      2016-07-29 17:09:46   notice : Loaded module readconnroute: V1.1.0 from /usr/lib64/maxscale/libreadconnroute.so
      2016-07-29 17:09:46   notice : Initialise the MySQL Monitor module V1.4.0.
      2016-07-29 17:09:46   notice : Loaded module mysqlmon: V1.4.0 from /usr/lib64/maxscale/libmysqlmon.so
      2016-07-29 17:09:46   notice : MariaDB Corporation MaxScale beta-1.3.0 (C) MariaDB Corporation Ab 2013-2015
      2016-07-29 17:09:46   notice : MaxScale is running in process 14140
      2016-07-29 17:09:46   notice : Loaded 2 MySQL Users for service [Read-Only Service].
      2016-07-29 17:09:46   notice : Loaded module MySQLClient: V1.0.0 from /usr/lib64/maxscale/libMySQLClient.so
      2016-07-29 17:09:46   notice : Listening MySQL connections at 0.0.0.0:4008
      2016-07-29 17:09:46   notice : Loaded 2 MySQL Users for service [Read-Write Service].
      2016-07-29 17:09:46   notice : Listening MySQL connections at 0.0.0.0:4006
      2016-07-29 17:09:46   notice : Loaded module maxscaled: V1.0.0 from /usr/lib64/maxscale/libmaxscaled.so
      2016-07-29 17:09:46   notice : Listening maxscale connections at 0.0.0.0:6603
      2016-07-29 17:09:46   notice : Started MaxScale log flusher.
      2016-07-29 17:09:46   notice : MaxScale started with 8 server threads.
      2016-07-29 17:09:47   notice : A Master Server is now available: 192.168.6.114:3306




4測試
  1. 讀負載均衡測試
    1. [root@localhost etc]# mysql -umax -pESBecs00 -h192.168.6.121 -P4008 -e "show tables" chenliang;
    2. Warning: Using a password on the command line interface can be insecure.
    3. +---------------------+
    4. | Tables_in_chenliang |
    5. +---------------------+
    6. | test115 |
    7. +---------------------+
    8. [root@localhost etc]# mysql -umax -pESBecs00 -h192.168.6.121 -P4008 -e "show tables" chenliang;
    9. Warning: Using a password on the command line interface can be insecure.
    10. +---------------------+
    11. | Tables_in_chenliang |
    12. +---------------------+
    13. | test119 |
    14. +---------------------+
    15. [root@localhost etc]# mysql -umax -pESBecs00 -h192.168.6.121 -P4008 -e "show tables" chenliang;
    16. Warning: Using a password on the command line interface can be insecure.
    17. +---------------------+
    18. | Tables_in_chenliang |
    19. +---------------------+
    20. | test115 |
    21. +---------------------+
    22. [root@localhost etc]# mysql -umax -pESBecs00 -h192.168.6.121 -P4008 -e "show tables" chenliang;
    23. Warning: Using a password on the command line interface can be insecure.
    24. +---------------------+
    25. | Tables_in_chenliang |
    26. +---------------------+
    27. | test119 |
    28. +---------------------+

  2. 寫測試
    1. [root@localhost etc]# mysql -umax -pESBecs00 -h192.168.6.121 -P4006 -e "create table tt as select * from mysql.user" chenliang;    --建立一個表
    2. Warning: Using a password on the command line interface can be insecure.
    3. [root@localhost etc]# mysql -umax -pESBecs00 -h192.168.6.121 -P4008 -e "show tables" chenliang;                                     ---同步到slave1
    4. Warning: Using a password on the command line interface can be insecure.
    5. +---------------------+
    6. | Tables_in_chenliang |
    7. +---------------------+
    8. | test115 |
    9. | tt |
    10. +---------------------+
    11. [root@localhost etc]# mysql -umax -pESBecs00 -h192.168.6.121 -P4008 -e "show tables" chenliang;                                     ---同步到slave2了,很明顯寫在了主庫上,可以開generlog去驗證
    12. Warning: Using a password on the command line interface can be insecure.
    13. +---------------------+
    14. | Tables_in_chenliang |
    15. +---------------------+
    16. | test119 |
    17. | tt |
    18. +---------------------+


5 後臺管理

  1. [root@localhost ~]# maxadmin -pmariadb
  2. MaxScale>
  3. MaxScale>
  4. MaxScale> list servers
  5. Servers.
  6. -------------------+-----------------+-------+-------------+--------------------
  7. Server | Address | Port | Connections | Status
  8. -------------------+-----------------+-------+-------------+--------------------
  9. server1 | 192.168.6.114 | 3306 | 0 | Master, Running
  10. server2 | 192.168.6.115 | 3306 | 0 | Slave, Running
  11. server3 | 192.168.6.119 | 3306 | 0 | Slave, Running
  12. -------------------+-----------------+-------+-------------+--------------------
  13. MaxScale> list services
  14. Services.
  15. --------------------------+----------------------+--------+---------------
  16. Service Name | Router Module | #Users | Total Sessions
  17. --------------------------+----------------------+--------+---------------
  18. Read-Only Service | readconnroute | 1 | 3
  19. Read-Write Service | readwritesplit | 1 | 1
  20. MaxAdmin Service | cli | 5 | 5
  21. --------------------------+----------------------+--------+---------------

故障測試之:一臺slave,stop
  1. 原始狀態
    1. MaxScale> list servers
    2. Servers.
    3. -------------------+-----------------+-------+-------------+--------------------
    4. Server | Address | Port | Connections | Status
    5. -------------------+-----------------+-------+-------------+--------------------
    6. server1 | 192.168.6.114 | 3306 | 0 | Master, Running
    7. server2 | 192.168.6.115 | 3306 | 0 | Slave, Running
    8. server3 | 192.168.6.119 | 3306 | 0 | Slave, Running
    9. -------------------+-----------------+-------+-------------+--------------------

    停掉119的slave,stop slave;檢視狀態
  2. MaxScale> list servers
    Servers.
    -------------------+-----------------+-------+-------------+--------------------
    Server             | Address         | Port  | Connections | Status              
    -------------------+-----------------+-------+-------------+--------------------
    server1            | 192.168.6.114   |  3306 |           0 | Master, Running
    server2            | 192.168.6.115   |  3306 |           0 | Slave, Running
    server3            | 192.168.6.119   |  3306 |           0 | Running
    -------------------+-----------------+-------+-------------+--------------------

  3. 此時讀負載測試:全部落到正常的那臺slave
    1. [root@node4 ~]# mysql -umax -pESBecs00 -h192.168.6.121 -P4008 -e "show tables" chenliang;
      +---------------------+
      | Tables_in_chenliang |
      +---------------------+
      | test115             | 
      | tt                  | 
      | tt2                 | 
      +---------------------+
      [root@node4 ~]# mysql -umax -pESBecs00 -h192.168.6.121 -P4008 -e "show tables" chenliang;
      +---------------------+
      | Tables_in_chenliang |
      +---------------------+
      | test115             | 
      | tt                  | 
      | tt2                 | 
      +---------------------+
      [root@node4 ~]# mysql -umax -pESBecs00 -h192.168.6.121 -P4008 -e "show tables" chenliang;
      +---------------------+
      | Tables_in_chenliang |
      +---------------------+
      | test115             | 
      | tt                  | 
      | tt2                 | 
      +---------------------+


  4. 恢復119 在測試:負載均衡正常了
    1. MaxScale> list servers
    2. Servers.
    3. -------------------+-----------------+-------+-------------+--------------------
    4. Server | Address | Port | Connections | Status
    5. -------------------+-----------------+-------+-------------+--------------------
    6. server1 | 192.168.6.114 | 3306 | 0 | Master, Running
    7. server2 | 192.168.6.115 | 3306 | 0 | Slave, Running
    8. server3 | 192.168.6.119 | 3306 | 0 | Slave, Running
    9. -------------------+-----------------+-------+-------------+--------------------
    [root@node4 ~]# mysql -umax -pESBecs00 -h192.168.6.121 -P4008 -e "show tables" chenliang;
    +---------------------+
    | Tables_in_chenliang |
    +---------------------+
    | test119             | 
    | tt                  | 
    | tt2                 | 
    +---------------------+
    [root@node4 ~]# mysql -umax -pESBecs00 -h192.168.6.121 -P4008 -e "show tables" chenliang;
    +---------------------+
    | Tables_in_chenliang |
    +---------------------+
    | test115             | 
    | tt                  | 
    | tt2                 | 
    +---------------------+





故障測試之:兩臺slave全部stop
  1. 停掉1156,119的slave;stop slave
  2. 檢視狀態
    1. MaxScale> list servers
    2. Servers.
    3. -------------------+-----------------+-------+-------------+--------------------
    4. Server | Address | Port | Connections | Status
    5. -------------------+-----------------+-------+-------------+--------------------
    6. server1 | 192.168.6.114 | 3306 | 0 | Running
    7. server2 | 192.168.6.115 | 3306 | 0 | Running
    8. server3 | 192.168.6.119 | 3306 | 0 | Running
    9. -------------------+-----------------+-------+-------------+--------------------

  3. 負載測試:此時負載就出問題,會報錯,起碼得保持一臺slave,存活才行
    1. [root@node4 ~]# mysql -umax -pESBecs00 -h192.168.6.121 -P4008 -e "show tables" chenliang;
    2. ERROR 1045 (28000): failed to create new session

    說明從伺服器全部失效後,會導致 master 也無法識別,使整個資料庫服務都失效了。


    對於 slave 全部失效的情況,能否讓 master 還可用?這樣至少可以正常提供資料庫服務。


    這需要修改 MaxScale 的配置,告訴 MaxScale 我們需要一個穩定的 master。

    處理過程


    先恢復兩個 slave,讓叢集回到正常狀態,登陸兩個 slave 的MySQL。

    mysql> start slave;


    修改 MaxScale 配置檔案,新增新的配置。

    vi /etc/maxscale.cnf


    找到 [MySQL Monitor] 部分,新增:

    detect_stale_master=true


    儲存退出,然後重啟 MaxScale。


    驗證


    停掉兩臺 slave ,檢視 MaxScale 伺服器狀態。

    1. MaxScale> list servers
    2. Servers.
    3. -------------------+-----------------+-------+-------------+--------------------
    4. Server | Address | Port | Connections | Status
    5. -------------------+-----------------+-------+-------------+--------------------
    6. server1 | 192.168.6.114 | 3306 | 0 | Master, Stale Status, Running
    7. server2 | 192.168.6.115 | 3306 | 0 | Running
    8. server3 | 192.168.6.119 | 3306 | 0 | Running
    9. -------------------+-----------------+-------+-------------+--------------------


    負載測試:
    1. [root@node4 ~]# mysql -umax -pESBecs00 -h192.168.6.121 -P4008 -e "show tables" chenliang;
    2. +---------------------+
    3. | Tables_in_chenliang |
    4. +---------------------+
    5. | test114 |
    6. | tt |
    7. | tt2 |
    8. +---------------------+
    9. [root@node4 ~]# mysql -umax -pESBecs00 -h192.168.6.121 -P4008 -e "show tables" chenliang;
    10. +---------------------+
    11. | Tables_in_chenliang |
    12. +---------------------+
    13. | test114 |
    14. | tt |
    15. | tt2 |
    16. +---------------------+
    17. [root@node4 ~]# mysql -umax -pESBecs00 -h192.168.6.121 -P4008 -e "show tables" chenliang;
    18. +---------------------+
    19. | Tables_in_chenliang |
    20. +---------------------+
    21. | test114 |
    22. | tt |
    23. | tt2 |
    24. +---------------------+




補充:可將讀寫分離配置在一個port上

  1. 配置檔案
    1. [maxscale]
    2. threads=80

    3. [server1]
    4. type=server
    5. address=192.168.6.114
    6. port=3306
    7. protocol=MySQLBackend

    8. [server2]
    9. type=server
    10. address=192.168.6.115
    11. port=3306
    12. protocol=MySQLBackend

    13. [server3]
    14. type=server
    15. address=192.168.6.119
    16. port=3306
    17. protocol=MySQLBackend


    18. [MySQL Monitor]
    19. type=monitor
    20. module=mysqlmon
    21. servers=server1,server2,server3
    22. user=max
    23. passwd=ESBecs00
    24. monitor_interval=10000
    25. detect_stale_master=true


    26. #[Read-Only Service]
    27. #type=service
    28. #router=readconnroute
    29. #servers=server1,server2,server3
    30. #user=max
    31. #passwd=ESBecs00
    32. #router_options=slave


    33. [Read-Write Service]
    34. type=service
    35. router=readwritesplit
    36. servers=server1,server3,server2      -----都配置在這即可
    37. user=max
    38. passwd=ESBecs00
    39. max_slave_connections=100%


    40. [MaxAdmin Service]
      type=service
      router=cli




      #[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
      port=6603
    41. #####只需要將 read-only 讀負載均衡的部分註釋掉,只保留read-write部分即可
    重啟測試
    1. 寫操作
    2. [root@node4 ~]# mysql -uchenliang -pESBecs00 -h192.168.6.121 -P4006  -e "create table tt3 as select * from tt" chenliang;
    3. 檢查114,115,119都存在
    4. mysql> show tables;
      +---------------------+
      | Tables_in_chenliang |
      +---------------------+
      | test119             |
      | tt                  |
      | tt2                 |
      | tt3                 |
      +---------------------+
      4 rows in set (0.00 sec)

     讀測試:落在了slave上
    1. [root@node4 ~]# mysql -uchenliang -pESBecs00 -h192.168.6.121 -P4006 -e "show tables" chenliang;
    2. +---------------------+
    3. | Tables_in_chenliang |
    4. +---------------------+
    5. | test115 |
    6. | tt |
    7. | tt2 |
    8. | tt3 |
    9. +---------------------+
    10. [root@node4 ~]# mysql -uchenliang -pESBecs00 -h192.168.6.121 -P4006 -e "show tables" chenliang;
    11. +---------------------+
    12. | Tables_in_chenliang |
    13. +---------------------+
    14. | test115 |
    15. | tt |
    16. | tt2 |
    17. | tt3 |
    18. +---------------------+








對比:
實驗一:實現了讀寫分離,和讀的負載均衡,但是需要連線兩個不同的埠,不方便
實驗二:實現了讀寫分離,但讀負載均衡不能實現,只需要連結一個埠即可,比較方便




思考:

  1. 1.假設程式使用者是chenliang  對 chengliang業務庫具有所有權,透過chenliang 這個角色能否做到讀寫分離呢?

    1. 直接使用
    2. [root@localhost etc]# mysql -uchenliang -pESBecs00 -h192.168.6.121 -P4006  -e "create table tt2 as select * from tt" chenliang;
    [root@localhost etc]# mysql -uchenliang -pESBecs00 -h192.168.6.121 -P4008  -e "show tables" chenliang;
    Warning: Using a password on the command line interface can be insecure.
    +---------------------+
    | Tables_in_chenliang |
    +---------------------+
    | test119             |
    | tt                  |
    | tt2                 |
    +---------------------+
    [root@localhost etc]# mysql -uchenliang -pESBecs00 -h192.168.6.121 -P4008  -e "show tables" chenliang;                                         
    Warning: Using a password on the command line interface can be insecure.
    +---------------------+
    | Tables_in_chenliang |
    +---------------------+
    | test115             |
    | tt                  |
    | tt2                 |
    +---------------------+

  1. 完美

2 若直接將程式使用者寫到配置檔案的讀寫分離部分可以嗎?

  1. [Read-Only Service]
  2. type=service
  3. router=readconnroute
  4. servers=server1,server2,server3
  5. user=chenliang
  6. passwd=ESBecs00
  7. router_options=slave

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

  9. [Read-Write Service]
  10. type=service
  11. router=readwritesplit
  12. servers=server1
  13. user=chenliang
  14. passwd=ESBecs00
  15. max_slave_connections=100%

重新啟動觀察日誌會報錯:
  1. or table 'user'
  2. 2016-07-29 17:40:44 warning: Read-Only Service: User 'chenliang' is missing SELECT privileges on mysql.db table. Database name will be ignored in authentication. MySQL error message: SELECT command denied to user 'chenliang'@'192.168.6.121' for table 'db'
  3. 2016-07-29 17:40:44 error : Read-Only Service: Inadequate user permissions for service. Service not started.
  4. 2016-07-29 17:40:44 error : Failed to start service 'Read-Only Service'.
  5. 2016-07-29 17:40:44 error : Read-Write Service: User 'chenliang' is missing SELECT privileges on mysql.user table. MySQL error message: SELECT command denied to user 'chenliang'@'192.168.6.121' for table 'user'
  6. 2016-07-29 17:40:44 warning: Read-Write Service: User 'chenliang' is missing SELECT privileges on mysql.db table. Database name will be ignored in authentication. MySQL error message: SELECT command denied to user 'chenliang'@'192.168.6.121' for table 'db'
  7. 2016-07-29 17:40:44 error : Read-Write Service: Inadequate user permissions for service. Service not started.
  8. 2016-07-29 17:40:44 error : Failed to start service 'Read-Write Service'.
  9. 2016-07-29 17:40:44 notice : Loaded module maxscaled: V1.0.0 from /usr/lib64/maxscale/libmaxscaled.so

  10. 很明顯:讀寫分離的配置使用者需要對mysql.user表具有查詢許可權
建議:為了省事就將[Read-Only Service][Read-Write Service][MySQL Monitor]部分用同一個賬戶算了(非應用程式user),可以加密處理,讓別人看不到明文密碼








透過二進位制包安裝,原始碼包安裝,密碼加密等參考文章
初探/
http://blog.sina.com.cn/s/blog_534360f50102ver7.html

優酷土豆資深工程師:MySQL高可用之MaxScale與MHA



MaxScale:實現MySQL讀寫分離與負載均衡的中介軟體利器

http://mp.weixin.qq.com/s?__biz=MzI4NTA1MDEwNg==&mid=2650756387&idx=1&sn=c0dce4a24c85307cd4c64c8183bffa36&scene=0#wechat_redirect





來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29096438/viewspace-2122737/,如需轉載,請註明出處,否則將追究法律責任。

相關文章