云服务器内容精选

  • 步骤3:开启写转发 正常情况下,RegionlessDB集群创建完成后,主实例接收并处理读写请求,从实例只接收读请求。当开启写转发功能后,从实例接收到写请求会自动由从实例转发到主实例进行处理。主实例完成写入后,将数据同步到其他所有从实例。使用写转发可以简化写数据流程,直接通过从实例IP接入数据库服务执行读写操作,并且在满足一致性的同时,不影响就近读能力。 写转发只有在从实例的事务隔离级别为RR的场景下才支持。 当前版本从实例进行写转发时,暂不支持显示WARNING和RECORD信息。 当前版本从实例进行写转发时,暂不支持中断执行中的SQL请求。 写转发会创建用户“_@gdb_WriteForward@_”,请不要修改或者删除该用户,否则写转发功能无法正常运行。 支持的写转发命令如下: SQLCOM_UPDATE SQLCOM_INSERT SQLCOM_DELETE SQLCOM_INSERT_SELECT SQLCOM_REPLACE SQLCOM_REPLACE_SELECT SQLCOM_DELETE_MULTI SQLCOM_UPDATE_MULTI SQLCOM_ROLLBACK 如果执行了不支持的写转发命令,会出现如下报错信息: ERROR xxx (yyy): This version of MySQL doesn't yet support 'operation with write forwarding'. 其中“operation”为具体不支持的操作类型。 不支持的场景: SELECT FOR UPDATE语句。 EXPLAIN写转发语句。 写转发的语句包含SET VARIABLE。 在写转发开启的场景下,不支持SAVEPOINT。 XA事务中不支持写转发。 当前不支持START TRANSACTION READ WRITE,可以直接使用START TRANSACTION进行测试写转发。 存储过程中不支持写转发。 写转发开启时,不支持创建临时表,如果需要创建临时表,可以暂时关闭写转发进行创建。 针对会隐式提交的命令,在不支持写转发的情况下,也会自动提交当前节点和主节点对应的事务。 针对全局一致性级别,每个事务第一次访问数据之前,需要使用会话池中的连接,从主节点获取数据点位(LSN),如果没有可以使用的会话,可能会导致读取数据的命令失败。 如果用户使用写转发的会话出现连接错误,并且用户处于多语句事务中,服务端会主动关闭与客户端和主节点的连接,保证客户端能够感知到对应的错误。 主从实例的版本需要保持为最新版本。 由于写转发是转发到主节点上执行,如果只读节点有相同数据库下的同名临时表,最终以主节点的数据为准。 从实例如果参与了区域切换或者故障转移,写转发相关参数(“rds_open_write_forwarding”和“rds_write_forward_read_consistency”)会恢复为默认值。 在“RegionlessDB”页面,找到目标RegionlessDB集群。 单击操作列“设置写转发”,创建写转发账号。 图5 创建写转发账号 系统会为您自动创建一个内部账号(_@gdb_WriteForward@_)用于支持写转发,便于写请求转发到主实例进行处理。设置写转发账号后请不要自行修改或删除内部账号,否则会影响写转发功能。 在“设置写转发”弹框中,确认信息并单击“确定”。 图6 设置写转发 在“实例管理”页面,选择指定的RegionlessDB从实例,单击实例名称。 在左侧导航栏,选择“参数修改”。 在参数页面右上角搜索“rds_open_write_forwarding”,将该值修改为“ON”。 图7 开启写转发 单击左上角“保存”,开启写转发功能。 在参数页面右上角搜索“rds_write_forward_read_consistency”,修改写转发读一致性级别。 图8 修改写转发读一致性级别 可通过修改参数设置写转发的读一致性范围,具体选项说明详见表3。 表3 参数说明 参数名称 说明 NONE 不启用写转发。 EVENTUAL 在主实例真正执行写操作之前,写入数据是不可见的。查询不会等待RegionLess内主从实例数据同步完成,所以在该级别下,可能读取到未更新的过期数据。 SESSION 通过开启写转发的从实例执行的所有查询,都会看到在本会话中进行的所有数据写入的结果。查询将等待复制中的写转发执行的结果。 GLOBAL 会话可以看到RegionlessDB中所有会话和实例上全部已提交的更改,查询可能会等待一定时间,该等待时间和复制延迟相关。 如果业务有读一致性要求,建议一致性级别配置为SESSION。谨慎设置成GLOBAL,GLOBAL会导致所有的读请求花费较大的额外代价,例如使用任一客户端连接TaurusDB,且使用GLOBAL级别时,导致进入MySQL命令行的时间变长。 事务中无法修改写转发读一致性级别为SESSION。 开启写转发参数前,需要确保从实例的事务隔离级别为RR。 写转发开启的情况下,不允许修改当前会话的事务隔离级别。 事务中不允许修改读一致性级别。 单击左上角“保存”。
  • 步骤2:添加从实例 在“RegionlessDB”页面,找到目标RegionlessDB。 单击操作列“添加从实例”。 图4 添加从实例 在“创建从实例”页面,设置相关参数。 表2 基本信息 参数 描述 区域 从实例所在区域。 须知: 不同区域内的产品内网不互通,且购买后不能更换,请谨慎选择。 创建方式 选择“新创建”。 实例名称 名称长度在4个到64个字符之间,必须以字母开头,可以包含字母、数字、中划线或下划线,不能包含其他特殊字符。 数据库引擎 TaurusDB。 兼容的数据库版本 MySQL 8.0。 内核版本 从实例的内核版本,内核版本需要大于等于2.0.46.231000。 关于各个内核小版本的更新说明请参见内核版本发布说明。 说明: 如需设置内核版本,请联系客服人员申请权限。 实例类型 仅支持集群:RegionlessDB集群版包含最少2个最多10个只读节点。 存储类型 共享存储。 可用区类型 可用区指在同一区域下,电力、网络隔离的物理区域,可用区之间内网互通,不同可用区之间物理隔离。有的区域支持单可用区和多可用区,有的区域只支持单可用区。 单可用区:主节点和只读节点部署在同一个可用区。 多可用区:您选择主可用区,创建的只读节点会均匀分布在各可用区之间,保证高可靠性。 时区 由于世界各国家与地区经度不同,地方时也有所不同,因此会划分为不同的时区。时区可在创建实例时选择,后期不可修改。 性能规格 TaurusDB支持的性能规格,请参见数据库实例规格。 TaurusDB是基于共享存储架构的云原生数据库。为了保证实例在极高读写压力场景下的业务稳定,会根据规格对实例读写峰值进行智能平滑控制,将实例读写能力稳定在一个较高水平,请您参照性能白皮书,选择合适的性能规格。 CPU架构 实例的CPU和内存,CPU架构分为X86和鲲鹏。 节点数量 从实例所有节点均为只读节点,“按需计费”实例单次创建最多可批量申请10个只读节点。 实例创建成功后,您可根据业务需要,添加只读节点,一个从实例最多可以创建15个只读节点。详情请参见创建只读节点。 存储设置 无需选择存储容量,存储费用按照实际使用量每小时计费。 虚拟私有云 TaurusDB数据库实例所在的 虚拟专用网络 ,可以对不同业务进行网络隔离。您需要创建或选择所需的虚拟私有云。如何创建虚拟私有云,请参见《虚拟私有云用户指南》中的“创建虚拟私有云基本信息及子网”。 如果没有可选的虚拟私有云,TaurusDB数据库服务默认为您分配资源。 须知: 请确保从实例选择的虚拟私有云和主实例选择的虚拟私有云已通过VPN连通。 目前TaurusDB实例创建完成后不支持切换虚拟私有云,请谨慎选择所属虚拟私有云。 通过子网提供与其他网络隔离的、可以独享的网络资源,以提高网络安全性。 创建实例时TaurusDB会自动为您配置读写内网地址,您也可输入子网号段内未使用的读写内网地址。 内网安全组 内网安全组限制实例的安全访问规则,加强TaurusDB数据库服务与其他服务间的安全访问。请确保所选取的内网安全组允许客户端访问数据库实例。 如果不创建内网安全组或没有可选的内网安全组,TaurusDB数据库服务默认为您分配内网安全组资源。 说明: 为了保证后续数据库的连接和访问,选择内网安全组时,需在安全组的入方向放开3306端口和ICMP协议。 请确保主从实例之间的内网安全组规则是放开的。 参数模板 数据库参数就像是数据库引擎配置值的容器,参数模板中的参数可应用于一个或多个相同类型的数据库实例。实例创建成功后,参数模板可进行修改。 须知: 创建数据库实例时,为确保数据库实例正常创建,自定义参数模板中相关规格参数如下不会下发,而是采用系统默认的推荐值。 “innodb_buffer_pool_size” “innodb_log_buffer_size” “max_connections” “innodb_buffer_pool_instances” “innodb_page_cleaners” “innodb_parallel_read_threads” “innodb_read_io_threads” “innodb_write_io_threads” “threadpool_size” 您可以在实例创建完成之后根据业务需要进行调整。具体请参见编辑参数模板。 企业项目 该参数针对企业用户使用,如需使用该功能,请联系客服申请开通。 企业项目是一种云资源管理方式,企业项目管理服务提供统一的云资源按项目管理,以及项目内的资源管理、成员管理。 请在下拉框中选择所在的企业项目,其中,default为默认项目。 如果需要自定义企业项目,请在控制台右上角单击“企业”,进入“企业项目”页面创建,具体请参见《企业管理用户指南》中“创建企业项目”的内容。 标签 可选配置,对关系型数据库的标识。使用标签可以方便识别和管理您拥有的数据库服务资源。每个实例最多支持20个标签配额。 实例创建成功后,您可以单击实例名称,在标签页签下查看对应标签。关于标签的详细操作,请参见标签。 实例密码及大小写敏感与主实例一致,无需单独设置。 参数配置完成后,单击页面右下角“立即购买”。 确认从实例信息无误后,单击页面右下角“提交”,完成创建从实例的申请。 从实例创建成功后,可以在“实例管理”页面对其进行查看和管理。 创建从实例过程中,状态显示为“创建中”。您可以通过“任务中心”查看详细进度和结果。创建完成的实例状态为“正常”,此时,从实例才可以正常使用。 如果主实例的存量数据较多,由于添加从实例需要对新创建的从实例进行全量备份恢复,该流程耗时可能会较长。
  • 其他操作和检查 主从实例分别是独立的TaurusDB实例,主从切换和故障转移不会交换主从间的各种配置,为了避免配置参数不同引起的性能和兼容性等问题,建议在主从切换和故障转移后检查主从实例的配置项差异。 检查应用程序读取/写入地址 主从切换和故障转移不会切换实例的读写地址,需要检查应用程序的读写地址是否符合预期。 故障转移期间,可以配置应用程序使用新的主实例的读写地址,等待故障实例重建完成后重新配置应用程序的读写地址。 检查从实例写转发配置,请参考步骤3:开启写转发。 检查参数组参数配置,请参考修改TaurusDB实例参数。 配置监控告警,请参考监控与告警。
  • 故障转移 当主实例故障无法恢复时,通常是区域性故障导致,需要进行故障转移。RegionlessDB集群会从所有的从实例中选取数据最新的从实例进行故障转移。 故障转移会造成一定程度的数据丢失,取决于故障转移时主从实例间的数据复制延迟情况。 通常故障转移可以在几分钟内完成,但执行故障转移后原来的主实例需要重建为从实例才可以重新加入到整个集群中,重建可能需要数十分钟到几个小时,具体时长取决于数据量的大小和区域之间的网络情况。