检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
客户端超时参数设置导致连接超时退出 场景描述 使用数据库时,经常遇到连接退出,导致后续语句执行失败的情况。 原因分析 在使用连接器或API连接数据库时,客户端会有一些默认的参数配置。其中有一些比较重要的参数如socketTimeout、connectTimeout等,会影响客户端
并将请求方法写在一起。这是因为URI-scheme都是HTTPS,而Endpoint在同一个区域也相同,所以简洁起见将这两部分省略。 请求方法 HTTP请求方法(也称为操作或动词),它告诉服务你正在请求什么类型的操作。 表2 HTTP方法 方法 说明 GET 请求服务器返回指定资源。
000,相当于不开启。 对于DDL的等锁超时,其真实超时时间是lock_wait_timeout和rds_ddl_lock_wait_timeout的最小值。 对于DDL过程中InnoDB层的加表锁超时(行锁不在该考虑范围),其真实超时时间是innodb_lock_wait_ti
设置可维护时间段 功能介绍 设置可维护时间段。建议将可维护时间段设置在业务低峰期,避免业务在维护过程中异常中断。 调用方法 请参见如何调用API。 URI PUT /v3/{project_id}/instances/{instance_id}/ops-window 表1 路径参数
异常请求结果 异常响应要素说明 表1 异常响应要素说明 名称 参数类型 说明 error_code String 提交任务异常时返回的错误编码,详细错误码描述请参见错误码。 error_msg String 提交任务异常时返回的错误描述信息。 响应样例 { "error_code":
established slowly。示例: 有上述日志,说明存在某些连接超过一定时间仍未被MySQL处理,客户端的超时时间大于该时间,就会报错。 进一步查看线程池配置(默认开启),可以在控制台查看。 可以看出,threadpool_size为1,threadpool_stall_lim
在“实例信息”模块的“可维护时间段”处,单击“修改”。 图1 设置可维护时间段 在“修改可维护时间段”弹框中,选择一个可维护时间段,单击“确定”。 图2 修改可维护时间段 修改可维护时间段,不影响原有可维护时间段内定时任务的执行时间。 相关API 设置可维护时间段 父主题: 变更实例配置
开通数据库代理后,还是有大量select请求分发到主节点 原因分析: 读权重参数 设置主节点和只读节点的读权重分配,可以控制读请求的分发配比,仅在存在只读节点时生效。 例如:一主两只读,设置的读权重为1(主):2(只读1):3(只读2),那么会按照1:2:3将读请求分发到主和只读实例上;如果将读权重设置为0:2
创建ECS(MySQL服务器) 购买弹性云服务器,用于安装MySQL社区版。 登录华为云管理控制台。 单击管理控制台左上角的,选择区域“华南-广州”。 单击页面左上角,选择“计算 > 弹性云服务器 ECS”。 单击“购买云服务器”。 配置弹性云服务器参数。 选择通用计算型s6.xlarge
读请求路由到主实例的场景 如果查询语句被放在事务中,事务请求都会路由到主实例。如果在查询语句前设置set autocommit=0时也当做事务处理路由到主实例。 如果所有只读节点都均异常或只读节点权重为0时,则查询会路由到主实例。对于成功开启读写分离功能的实例,您可以设置其主实例
innodb_trx表包含了当前innodb内部正在运行的事务信息。 trx_started:表示事务的开始时间,用来判断当前事务是否是长事务,当前时间减去开始时间就是事务的执行时间。 trx_state :表示当前事务的状态,取值如下: RUNNING:运行。 LOCK WAIT:等待锁。
自建MySQL服务器 创建VPC和安全组 创建ECS(MySQL服务器) 安装社区版MySQL 创建ECS并安装MySQL客户端 父主题: 实施步骤
MySQL创建用户提示服务器错误(ERROR 1396) 场景描述 用户账号在控制台界面上消失,创建不了同名账号,但使用账号名和旧密码还能连接。 创建用户失败的报错信息: ERROR 1396 (HY000): Operation CREATE USER failed for xxx。
t值为2时,此设置有效。 innodb_lock_wait_timeout 否 该变量控制innodb事务获取行锁等待的最长时间(秒),如果超过该时间还未获取到锁资源,则会返回执行失败。 parallel_queue_timeout 否 请求并行执行的查询的等待时间。如果超过该等
Network,简称VPN),通过虚拟专用网络连接GaussDB(for MySQL)。 将GaussDB(for MySQL)与弹性云服务器创建在同一个虚拟专用网络下,通过弹性云服务器来访问GaussDB(for MySQL)。 具体请参见: 通过内网连接GaussDB(for MySQL)实例
连接池设置 使用连接池时,需要设置连接探活机制,确保部分连接超时断开时不会被继续使用。 jdbc连接池和Druid连接池设置: testOnBorrow=true, HikariCP连接池设置: connectionTestQuery=”SELECT 1” 父主题: GaussDB(for
安装社区版MySQL 初始化磁盘并安装社区版MySQL。 登录弹性云服务器 登录华为云管理控制台。 单击管理控制台左上角的,选择区域“华南-广州”。 单击页面左上角,选择“计算 > 弹性云服务器 ECS”。 在弹性云服务器名称“ecs-mysql”所在行单击“远程登录”。 选择“CloudShell登录”。
如何在业务代码中开启连接池的探活功能? 使用连接池时,需要设置连接探活机制,确保部分连接超时断开时不会被继续使用。 jdbc连接池和Druid连接池设置: testOnBorrow=true, HikariCP连接池设置: connectionTestQuery=”SELECT 1”
Failed 未满足前提条件,服务器未满足请求者在请求中设置的其中一个前提条件。 413 Request Entity Too Large 由于请求的实体过大,服务器无法处理,因此拒绝请求。为防止客户端的连续请求,服务器可能会关闭连接。如果只是服务器暂时无法处理,则会包含一个Retry-After的响应信息。
创建ECS并安装MySQL客户端 请参考创建ECS(MySQL服务器)创建MySQL客户端的弹性云服务器。 确保和MySQL服务器所在ECS配置成相同Region、相同可用区、相同VPC、相同安全组。 不用购买数据盘。 云服务器名配置为:ecs-client。 其他参数同MySQL服务器的ECS配置。