云服务器内容精选

  • 参数修改限制 “innodb_adaptive_hash_index”和“innodb_buffer_pool_size”参数同时修改时,“innodb_adaptive_hash_index”的值由“OFF”改为“ON”会失败。 “innodb_buffer_pool_size”参数值必须是“innodb_buffer_pool_instances”和“innodb_buffer_pool_chunk_size”参数值乘积的整数倍。 “innodb_buffer_pool_instances”参数值设置为“2”时,“innodb_buffer_pool_size”值必须大于等于1GB。 “max_prepared_stmt_count”:对于MySQL 8.0版本,如果内核版本低于8.0.18,参数取值上限为1048576,超过会修改失败。
  • 联动参数 “character_set_server”:修改该参数的值, 系统会联动调整“collation_server”、“character_set_database”,和“collation_database”的取值。 其中,“character_set_server”跟“collation_server”存在对应关系,“collation_server”的取值为以“character_set_server”值开头的字符序。例如:“character_set_server”为“latin1”时,“collation_server”的取值为以“latin1”开头的字符序。 “innodb_io_capacity”:该参数的取值必须小于等于“innodb_io_capacity_max”的取值。 比如“innodb_io_capacity_max”为“2000”, 则“innodb_io_capacity”最大设置为“2000”。 “innodb_buffer_pool_size”: 该参数受“innodb_buffer_pool_chunk_size ”* “innodb_buffer_pool_instances”的影响,为两参数乘积的整数倍向上取值。 比如“innodb_buffer_pool_chunk_size”为“134217728”,“ innodb_buffer_pool_instances”为“1”,那“innodb_buffer_pool_size”必须大于等于“134217728”。
  • 其他参数 “max_prepared_stmt_count”:准备大量的语句会消耗服务器的内存资源,参数设置较小,会带来潜在的“拒绝服务”的风险,建议您根据业务情况,调整该参数的值。 如下参数的输入会根据内核规则对取值进行对应的调整。调整的规则如下所示: “key_cache_age_threshold”会自动调整为100的倍数。 “join_buffer_size”和“key_cache_block_size”会自动调整为128的倍数。 “query_cache_size”、“query_prealloc_size”、“innodb_log_buffer_size”和“max_allowed_packet ”、“thread_stack ”会自动调整为1024的倍数。 “read_buffer_size”、“read_rnd_buffer_size”、“binlog_cache_size ”、“binlog_stmt_cache_size ”会自动调整为4096的倍数。 “data_buffer_size”、“log_buffer_size”、“shared_pool_size”、“temp_buffer_size ”会自动调整为1048576的倍数。 “binlog_format”:默认设置为row,表示将binlog记录成每一行数据被修改的形式,包括修改前和修改后的数据。建议不要对该参数进行修改,否则可能影响您的正常使用。 “log_timestamps”:控制记录各类日志中的时间戳时区,如错误日志、慢日志等。默认设置为系统时区,且无法修改。 “skip_name_resolve”:默认值为“ON”,表示跳过 域名 解析从白名单的IP中判断是否可以建立连接。 “innodb_strict_mode”:用于限制InnoDB的检查策略,默认值为“OFF”。 “binlog_rows_query_log_events”:该参数控制原始SQL是否记录到Binlog。开启时在特定大量数据更新等场景可能存在一定的性能劣化,修改该值应该考虑Otter等工具的兼容性。
  • 修改性能参数 若干参数相关说明如下: “innodb_spin_wait_delay”和“query_alloc_block_size”依赖于实例的规格,设置过大时,可能会影响数据库的使用。 “max_connections”:允许同时连接的客户端总数,参数默认值取决于系统架构。系统内置连接数会占用一部分,不建议设置30以下,以避免并发连接冲突抢占。无法设置为小于当前连接数的值。 “innodb_buffer_pool_size”、“max_connections”和“back_log”参数依赖于实例的规格,实例规格不同对应其默认值也不同。因此,这些参数在用户未设置前显示为“default”。 “innodb_io_capacity_max”、“innodb_io_capacity”参数依赖于磁盘类型,用户未设置前显示为“default”。
  • 修改敏感参数 若干参数相关说明如下: “lower_case_table_names” 云数据库默认值:“1”。 作用:该参数表示创建库和表时,表名存储是否大小写敏感。默认值“1”,表示创建库和表时,表名默认存储为小写,且不区分大小写。 RDS for MySQL 8.0版本不支持修改该参数。 影响:修改该参数可能会导致主从复制异常,请谨慎修改。如果必须要修改,请根据以下场景设置数据库参数: 参数值从1变为0的设置顺序:先修改和重启只读库,后修改和重启主库。 参数值从0变为1的设置顺序:先修改和重启主库,在主库执行SELECT @@GLOBAL.GTID_EXECUTED。然后在只读库执行SELECT @@GLOBAL.GTID_EXECUTED,直到结果集合大于或者等于主库的SELECT @@GLOBAL.GTID_EXECUTED的结果集合,再修改和重启只读库。 “innodb_flush_log_at_trx_commit” 云数据库默认值:“1”。 作用:该参数控制提交操作在严格遵守ACID合规性和高性能之间的平衡。设置为默认值“1”,是为了保证完整的ACID,每次提交事务时,把事务日志从缓存区写到日志文件中,并刷新日志文件的数据到磁盘上;当设为“0”时,每秒把事务日志缓存区的数据写入日志文件,并刷新到磁盘;如果设为“2”,每次提交事务都会把事务日志从缓存区写入日志文件,每隔一秒左右会刷新到磁盘。 影响:参数设置为非默认值“1”时,降低了数据安全性,在系统崩溃的情况下,可能导致数据丢失。 POC建议值:“2”。 “sync_binlog” 云数据库默认值:“1”。 作用:该参数控制MySQL服务器将二进制日志同步到磁盘的频率。设置为默认值“1”,表示MySQL每次提交事务时,将Binlog同步写入磁盘,是最安全的设置;值为“0”时性能最好,表示MySQL不控制Binlog的刷新,由文件系统自己控制其缓存的刷新。此时的性能最好,但风险最大,因为一旦断电或操作系统崩溃,在“binlog_cache”中的所有Binlog信息都会被丢失。 影响:参数设置为非默认值“1”时,降低了数据安全性,在系统崩溃的情况下,可能导致binlog丢失。 POC建议值:“1000”。 “innodb_large_prefix” 云数据库默认值:“OFF”。 作用:InnoDB表允许单列索引的最大长度。 仅RDS for MySQL 5.6版本支持该参数。 影响:在DDL执行时修改该参数,有可能会导致主从复制异常,请谨慎修改。如果必须要修改,请根据以下场景设置数据库参数: 参数值从OFF变为ON的设置顺序:先修改只读库,后修改主库。 参数值从ON变为OFF的设置顺序:先修改主库,后修改只读库。 “innodb_buffer_pool_size” 云数据库默认值:“规格参数,不同实例规格默认值也不同”。 作用:该参数为Innodb缓冲池大小,用来缓存表和索引数据的内存区域,增加该值可减少磁盘I/O。 影响:过大的buffer pool可能导致系统崩溃,请谨慎修改。 POC建议值:32G及以上规格可将其调整至内存的70%~75%。
  • 响应消息 正常响应要素说明 表2 要素说明 名称 参数类型 说明 configurations Array of objects 参数模板列表。 详情请参见表3。 表3 configurations字段数据结构说明 名称 参数类型 说明 id String 参数模板ID。 name String 参数模板名称。 description String 参数模板描述。 datastore_version_name String 数据库版本名称。 datastore_name String 数据库名称。 created String 创建时间,格式为"yyyy-MM-ddTHH:mm:ssZ"。 其中,T指某个时间的开始;Z指时区偏移量,例如北京时间偏移显示为+0800。 updated String 更新时间,格式为"yyyy-MM-ddTHH:mm:ssZ"。 其中,T指某个时间的开始;Z指时区偏移量,例如北京时间偏移显示为+0800。 user_defined Boolean 是否是用户自定义参数模板: false,表示为系统默认参数模板。 true,表示为用户自定义参数模板。 正常响应样例 { "configurations": [{ "id": "887ea0d1bb0843c49e8d8e5a09a95652pr01", "name": "configuration_test", "description": "configuration_test", "datastore_version_name": "8.0", "datastore_name": "mysql", "created": "2019-05-15T11:53:34+0000", "updated": "2019-05-15T11:53:34+0000", "user_defined": true }, { "id": "3bc1e9cc0d34404b9225ed7a58fb284epr01", "name": "Default-MySQL-5.7", "description": "Default parameter group for MySQL 5.7", "datastore_version_name": "5.7", "datastore_name": "mysql", "created": "2019-05-27T03:38:51+0000", "updated": "2019-05-27T03:38:51+0000", "user_defined": false } ] } 异常响应 请参见异常请求结果。
  • 参数管理的页面权限? 权限设计 访问参数列表页:需要list权限: coc:parameter:list 获取参数详情:需要get权限:coc:parameter:get 删除参数:需要操作类权限:coc:parameter:delete 创建参数:需要操作类权限:coc:parameter:create 更新参数:需要操作类权限:coc:parameter:update 资源类权限(具体到某一个region下 && 某一个租户的一个参数):coc:*:*:parameter:name(第一个*代表所有regionID,第二个*所有租户,name代表参数名称) 资源类权限决定您可以访问哪些数据,操作类权限是对您有的资源类权限进行操作,常见问题: 如果您可以访问某个参数,但是您访问不了列表页,代表您缺少coc:parameter:list权限 如果您找不到指定的参数,需要确认是否有该参数的权限 coc:service-name:region:account-id:resource-type:resource-path这个是资源类权限的结构,*代表该层级所有权限,添加资源类权限需要按照这个格式填写 父主题: 参数管理常见问题
  • 请求示例 更新任务全量阶段写数据到目标数据库的线程数和全量阶段从源教据库读取数据的线程数。 https://{endpoint}/v5/054ba152d480d55b2f5dc0069e7ddef0/jobs/c7debc9c-8e09-4a5d-8dd6-cc44f78jb20r/modify-configuration { "values" : [ { "parameter_name" : "applier_thread_num", "parameter_value" : "20" }, { "parameter_name" : "read_task_num", "parameter_value" : "3" } ] }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 发送的实体的MIME类型。推荐用户默认使用application/json,如果API是对象、镜像上传等接口,媒体类型可按照流类型的不同进行确定。 缺省值:application/json X-Auth-Token 是 String 从 IAM 服务获取的用户Token。用户Token也就是调用IAM获取用户Token接口的响应值,请求响应成功后在响应消息头中包含的“X-Subject-Token”的值即为Token值。 X-Language 否 String 请求语言类型。 缺省值:en-us 枚举值: en-us zh-cn 表3 请求Body参数 参数 是否必选 参数类型 描述 values 是 Array of objects 参数值对象,基于默认参数模板初始化的参数值。 详情请参见表4。 表4 values字段数据结构说明 参数 是否必选 参数类型 描述 parameter_name 是 String 参数名称,如:“applier_thread_num”,“read_task_num”等。为空时表示不修改参数值。 parameter_value 是 String 参数名称对应的参数值,如:“20”,“false”。parameter_name不为空时,parameter_value也不可为空。
  • 任务参数说明 表1 任务参数说明 参数名 描述 取值范围 默认值 参数类型 是否需要重启 applier_thread_num 全量阶段写数据到目标数据库的线程数 与规格大小有关。 极小规格:1-4 小规格:1-4 中规格:1-8 大规格:1-18 超大规格:1-24 与规格大小有关。 极小规格:2 小规格:2 中规格:4 大规格:6 超大规格:12 int 是 read_task_num 全量阶段从源数据库读取数据的线程数 与规格大小有关。 极小规格:1-2 小规格:1-2 中规格:1-4 大规格:1-8 超大规格:1-12 与规格大小有关。 极小规格:1 小规格:1 中规格:2 大规格:4 超大规格:6 int 是 shard_task_num 全量阶段从源数据库分片线程数 与规格大小有关。 极小规格:1-2 小规格:1-2 中规格:1-4 大规格:1-8 超大规格:1-8 与规格大小有关。 极小规格:1 小规格:1 中规格:2 大规格:4 超大规格:4 int 是 increment_writer_num 增量阶段写目标库线程数 与规格大小有关。 极小规格:1-8 小规格:1-16 中规格:1-32 大规格:1-128 超大规格:1-128 与规格大小有关。 极小规格:4 小规格:8 中规格:16 大规格:64 超大规格:64 int 是 relay_socket_timeout 增量阶段从源数据库拉取日志的超时时间 30000-2147483647毫秒 30000毫秒 int 是 datamove_source_socket_timeout 全量阶段从源数据库拉取数据的超时时间 120000-2147483647毫秒 120000毫秒 int 是
  • 操作步骤 在“实时同步管理”界面,选择指定的同步任务。 单击任务名称,页面跳转至“基本信息”页面。 单击左侧“参数管理”,在“参数”页签可对当前同步任务的参数信息进行修改。 图1 查看参数信息 修改完成后,可选择“保存”或者“取消”设置。 单击“保存”,在弹出框中单击“是”,保存修改。 单击“取消”,在弹出框中单击“是”,放弃本次设置。 部分参数完成修改后,需要重启任务后才生效,可单击右上角“重启”按钮使之生效,也可参考重启同步任务内容进行重启。 除此以外,重置、续传、任务重建、主备倒换、全量阶段修改限速操作也会重启任务进程使设置生效。
  • 修改单个参数 在实例列表,选择指定的实例,单击实例名称。 选择“参数设置”。 在参数列表的“操作”列,单击“修改”,修改参数值。 根据参数列表中“是否需要重启”提示,进行相应操作: 是:在实例列表中,查看“运行状态”,如果显示“参数变更,等待重启”,则需重启实例使之生效。 修改主实例的某些参数(如果是主备实例,备实例的参数也会被同步修改),需重启主实例使之生效。 否:无需重启,立即生效。 图1 参数修改 单击“确认”,在弹框中单击“是”,保存修改。 单击“取消”,放弃本次设置。 参数修改完成后,您可以单击“参数修改历史”,查看参数的修改详情。当前仅显示7天之内的参数修改历史。
  • 批量修改参数 在实例列表,选择指定的实例,单击实例名称。 选择“参数设置”。 打开批量修改开关,一次最多可以修改30个参数。 根据参数列表中“是否需要重启”提示,进行相应操作: 是:在实例列表中,查看“运行状态”,如果显示“参数变更,等待重启”,则需重启实例使之生效。 修改主实例的某些参数(如果是主备实例,备实例的参数也会被同步修改),需重启主实例使之生效。 否:无需重启,立即生效。 图2 设置参数 单击“保存”,在弹框中单击“是”,保存修改。 单击“取消”,在弹框中单击“是”,放弃本次设置。 参数修改完成后,您可以单击“参数修改历史”,查看参数的修改详情。当前仅显示7天之内的参数修改历史。
  • 修改自定义参数模板并应用到实例 您也可以通过修改自定义参数模板中的参数值后,将该自定义参数模板应用到实例来实现实例参数的修改。 在“参数管理”页面的“自定义模板”页签,选择目标参数模板,单击参数模板名称。 默认在“参数”页签下,根据需要修改相关参数值。 图3 修改自定义参数模板值 根据参数列表中“是否需要重启”提示,进行相应操作: 是:参数修改完成后,需要重启实例使之生效。 修改主实例的某些参数,需重启主实例使之生效。如果是高可用实例,备节点的参数也会被同步修改 修改只读实例的某些参数,需要重启该只读实例使之生效。 否:无需重启,立即生效。 单击“保存”,在弹出框中单击“是”,保存修改。 单击“取消”,放弃本次设置。 单击“预览”,可对比参数修改前和修改后的值。 参数修改完成后,您可以单击“参数修改历史”查看参数的修改详情。 自定义参数模板中参数修改后,不会立即应用到当前使用的实例,您需要手动进行应用操作才可生效,具体操作请参见应用 GaussDB (for MySQL)标准版参数模板。
  • URI URI格式 PUT /v3/{project_id}/instances/{instance_id}/configurations 参数说明 表1 参数说明 名称 是否必选 参数类型 说明 project_id 是 String 参数解释: 租户在某一Region下的项目ID。 获取方法请参见获取项目ID。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 instance_id 是 String 参数解释: 实例ID。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。