
# 使用MAS实现MySQL容灾切换
#### 概述
MySQL监控器可对用户业务使用的数据库进行探测，并且在数据库异常时自动触发流量切换。当用户场景需要主动切换流量时，也可以让用户手动实现切换操作，具体操作见[步骤四：切换MySQL监控]。
本章通过完成配置一个MySQL监控样例帮助您快速熟悉使用MySQL监控实现容灾切换的过程。
使用MySQL监控的步骤如下所示：
- [步骤一：准备MySQL数据库]
- [步骤二：创建MAS应用]
- [步骤三：创建MySQL监控]
- [步骤四：切换MySQL监控]
 
 #### 步骤一：准备MySQL数据库
在使用MySQL监控前，需要提前准备一个多活实例和两个MySQL数据库。您可以选择在华为云官网购买两个MySQL数据库，也可以自己在本地两台机器上部署两个MySQL数据库。
此处以在华为云购买MySQL数据库为例，建议将两个数据库部署在同一Region下不同的可用区，以提供不同功能可用区之间的故障转移能力和高可用性。
1. 请参考RDS for MySQL的[购买实例](https://support.huaweicloud.com/usermanual-rds-mysql/rds_10_0028.html)操作，准备MySQL数据库。两个MySQL数据库需要配置为相同的数据库名称、用户名和密码。在数据库实例中已创建好监控数据库和连接数据库。
2. 请参考[绑定弹性公网IP](https://support.huaweicloud.com/usermanual-rds-mysql/rds_public_accessibility.html)，绑定弹性IP。
3. 请参考[设置安全组规则](https://support.huaweicloud.com/usermanual-rds-mysql/rds_11_0009.html)，配置安全组规则。开放MySQL数据库的默认端口3306。
 
 #### 步骤二：创建MAS应用
MAS通过应用来实现同一实例内不同用户间的资源隔离，用户在实例中创建的监控都要归属到某个应用下。
1. 登录MAS控制台，在"多活管理"页面单击实例，进入实例控制台。
2. 在页面顶端导航栏选择"应用列表"，单击页面左上角的"新增应用"。
3. 在新增应用弹窗填写应用信息，完成后单击"确定"。
   表1应用配置信息 
   | **参数** | **配置说明**         |
   |:---|:---|
   | 应用名称   | 自定义应用名称。         |
   | 描述     | 填写对该应用的描述内容，选填项。 |
      
   
 
 #### 步骤三：创建MySQL监控
1. 登录MAS控制台，在"多活管理"页面单击实例（实例所属命名空间类型为同城多活，实例类型为多活管理中心），进入实例控制台。
2. 在页面顶端导航栏选择"监控列表"，单击页面左上角的"新增监控"。
3. 在新增监控页面配置监控基础配置，完成后单击"下一步：数据中心配置"。
   图1新增监控基础配置   
   ![](https://support.huaweicloud.com/qs-mas/zh-cn_image_0000001497056549.png)
   表2监控基础配置信息 
   | **参数**  | **配置说明**                                                                                                                                                           |
   |:---|:---|
   | 监控      | 此处配置为"MySQL监控"。                                                                                                                                                    |
   | 应用名称    | 选择[步骤二：创建MAS应用]中创建的应用。                                                                                                          |
   | 监控器名称   | 自定义监控器名称。                                                                                                                                                          |
   | 异常通知设置  | 默认为"关"，此处配置为"关"。 若设置为"开"，当监控器或被监控的数据库异常时会及时给用户发送异常通知或告警通知。支持华为云消息通知服务，需要配置密钥。                                                          |
   | 是否监控    | 默认"是"，选"否"则不会探测数据库异常情况。                                                                                                                                            |
   | 是否自动切换  | 默认"是"，选"否"则不会自动切换数据库。                                                                                                                                              |
   | 监控用户名   | 被监控MySQL数据库的用户名。                                                                                                                                                   |
   | 监控用户密码  | 被监控MySQL数据库的用户密码。                                                                                                                                                  |
   | 确认密码    | 再次填写监控用户密码。                                                                                                                                                        |
   | DRS联动   | 默认为"关"，此处配置为关。 若设置为"开"，关联DRS。                                                                                                        |
   | 数据库写入探测 | 默认为"关"。 若设置为"开"，请在监控数据库新建tb_health_hw_mas表，并插入id(varchar 36)，detect_time(varchar 100)列。 注意：id列必须设置为主键。 |
      
   ![](https://support.huaweicloud.com/qs-mas/public_sys-resources/note_3.0-zh-cn.png)
   基础配置信息中监控用户名、监控用户密码输入值与[步骤一：准备MySQL数据库]的配置相同。
   
4. 填写数据中心库配置，完成后单击"下一步：数据库配置"。
   图2新增监控数据中心配置   
   ![](https://support.huaweicloud.com/qs-mas/zh-cn_image_0000001231542422.png)
   表3数据中心配置信息 
   | **参数** | **配置说明**                                                                   |
   |:---|:---|
   | 云选择    | 选择被监控的MySQL数据库部署的环境。                                                       |
   | 局点     | 根据[步骤一：准备MySQL数据库]中创建的MySQL数据库选择的区域。    |
   | IPv4地址 | 根据[步骤一：准备MySQL数据库]中创建的MySQL数据库的访问地址和端口。 |
   | 添加读库地址 | 单击添加读库数据库地址。                                                               |
      
   
5. 填写数据库配置，输入监控和连接的MySQL数据库名称，完成后单击"下一步：高级配置"。
   图3新增监控数据库配置   
   ![](https://support.huaweicloud.com/qs-mas/zh-cn_image_0000001231383130.png)
   表4数据库配置信息 
   | **参数** | **配置说明**                                                                                                                     |
   |:---|:---|
   | 监控数据库  | 填写监控数据库名称。监控数据库用来探活连接的数据库实例，确认数据库实例连接是否正常。 **请使用独立的监控数据库，不要与业务数据库共用，监控数据库只授权读取类权限，避免产生安全风险。** |
   | 连接数据库  | 填写连接数据库名称。连接数据库是应用实际连接的数据库，支持配置多个，每个数据库可在连接池配置中选择使用不同的路由算法。                                                                  |
      
   
6. 填写高级配置，此处使用默认值即可，完成后单击"下一步：确认配置"。
   图4新增监控高级配置   
   ![](https://support.huaweicloud.com/qs-mas/zh-cn_image_0000001275503621.png) 
7. 确认配置无误后单击"立即创建"，完成创建MySQL监控。
 
 #### 步骤四：切换MySQL监控
1. 进入"监控列表"页面，单击MySQL监控所在行右侧的"切换"。
2. 在弹窗中单击"确定"。活跃数据库由数据中心1变为数据中心2。活跃数据库即主数据库。
3. 待数据中心1数据库正常后（即数据库连接正常，数据表读写正常），单击MySQL监控所在行右侧的"回切"按钮。
4. 在弹窗中单击"确定"。活跃数据库由数据中心2变为数据中心1。
 
