云服务器内容精选

  • 修改自定义参数模板并应用到实例 您也可以通过修改自定义参数模板中的参数值后,将该自定义参数模板应用到实例来实现实例参数的修改。 在“参数管理”页面的“自定义模板”页签,选择目标参数模板,单击参数模板名称。 默认在“参数”页签下,根据需要修改相关参数值。 图3 修改自定义参数模板值 根据参数列表中“是否需要重启”提示,进行相应操作: 是:参数修改完成后,需要重启实例使之生效。 修改主实例的某些参数,需重启主实例使之生效。如果是高可用实例,备节点的参数也会被同步修改 修改只读实例的某些参数,需要重启该只读实例使之生效。 否:无需重启,立即生效。 单击“保存”,在弹出框中单击“是”,保存修改。 单击“取消”,放弃本次设置。 单击“预览”,可对比参数修改前和修改后的值。 参数修改完成后,您可以单击“参数修改历史”查看参数的修改详情。 自定义参数模板中参数修改后,不会立即应用到当前使用的实例,您需要手动进行应用操作才可生效,具体操作请参见应用 GaussDB (for MySQL)标准版参数模板。
  • 请求示例 更新任务全量阶段写数据到目标数据库的线程数和全量阶段从源教据库读取数据的线程数。 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 常见参数的修改 参数名 描述 文档链接 time_zone 时区。当实例类型为只读实例时,请务必保证该参数的值与主实例上该参数的值保持一致。 如何修改时区 default_password_lifetime 定义了全局自动密码过期策略,单位为天。 RDS for MySQL密码过期策略 tx_isolation 指定默认的事务隔离等级。 如何修改云数据库RDS的事务隔离等级 character_set_server 服务器字符集。 使用utf8mb4字符集存储emoji表情到RDS for MySQ L实例 lower_case_table_names 如果设为0,表格名称被存储成固定并且表名称将是大小写敏感的。如果设为1,表格名称被存储成小写并且表名称将是大小写不敏感的。 RDS for MySQL如何设置表名是否区分大小写 group_concat_max_len 函数GROUP_CONCAT()结果的最大长度。 GROUP_CONCAT结果不符合预期 max_connections 允许同时连接的客户端总数。如果设定值为default,表示该参数随内存规格变化。 RDS数据库实例支持的最大数据连接数是多少
  • 操作场景 您可以复制您创建的自定义数据库参数模板。当您已创建一个数据库参数模板,并且想在新的数据库参数模板中包含该组中的大部分自定义参数和值时,复制参数模板是一个方便的解决方案。您还可以导出某数据库实例应用的参数列表,生成一个新的参数模板,供您后期使用。 复制数据库参数模板之后,新参数模板可能不会立即显示,建议您等待5分钟再使用。 您无法复制默认参数模板。不过,您可以创建基于默认参数模板的新参数模板。
  • 联动参数 “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”。
  • 修改敏感参数 若干参数相关说明如下: “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%。
  • 修改性能参数 若干参数相关说明如下: “innodb_spin_wait_delay”和“query_alloc_block_size”依赖于实例的规格,设置过大时,可能会影响数据库的使用。 “max_connections”参数值设置较小,将影响数据库访问。 “innodb_buffer_pool_size”、“max_connections”和“back_log”参数依赖于实例的规格,实例规格不同对应其默认值也不同。因此,这些参数在用户未设置前显示为“default”。 “innodb_io_capacity_max”、“innodb_io_capacity”参数依赖于磁盘类型,用户未设置前显示为“default”。
  • 参数修改限制 “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,超过会修改失败。
  • 其他参数 “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等工具的兼容性。
  • 常见问题 Q:修改需要重启实例的参数后,为什么在实例重启完成后,参数修改历史中发现参数没有应用,并且实例状态依然为“参数变更,等待重启”? A:修改规格参数,比如“work_mem”、“shared_buffers”、“max_connections”等参数,如果这些参数值修改都比较大,可能会导致数据库启动失败,为了不影响数据库正常运行,在数据库启动失败时,系统自动对参数的修改做了回滚,因此参数并没有修改成功。请您重新查看参数修改的合理性,如果您确认需要修改参数,建议先扩大规格,再进行修改。变更规格操作请参见变更实例的CPU和内存规格。
  • 响应消息 正常响应要素说明 表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这个是资源类权限的结构,*代表该层级所有权限,添加资源类权限需要按照这个格式填写 父主题: 参数管理常见问题
  • 响应消息 正常响应要素说明 表3 要素说明 名称 参数类型 说明 job_id String 参数解释: 任务ID。 取值范围: 不涉及。 restart_required Boolean 参数解释: 实例是否需要重启。 取值范围: “true”需要重启。 “false”不需要重启。 ignored_params List 参数解释: 请求参数“values”中被忽略掉,没有生效的参数名称列表。 当参数不存在时,参数修改不会下发,并通过此参数返回所有被忽略的参数名称。 取值范围: 不涉及。 正常响应样例 { "job_id" : "e7a7535b-eb9b-45ac-a83a-020dc5016d94", "restart_required" : "false", "ignored_params": [] } 异常响应 请参见异常请求结果。
  • URI URI格式 PUT /v3/{project_id}/instances/{instance_id}/configurations 参数说明 表1 参数说明 名称 是否必选 参数类型 说明 project_id 是 String 参数解释: 租户在某一Region下的项目ID。 获取方法请参见获取项目ID。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 instance_id 是 String 参数解释: 实例ID。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。