云服务器内容精选
-
解决方法 通过内网连接数据库实例。用内网连接,不会出现因为带宽等原因的拥塞。 具体请参见: 通过内网连接RDS for MySQ L实例 通过内网连接RDS for MariaDB实例 通过内网连接RDS for PostgreSQL实例 通过内网连接RDS for SQL Server实例 通过控制台设置参数innodb_adaptive_hash_index=off , 关闭自适应hash索引,减少锁等待。参数修改具体请参见编辑参数模板。 优化慢查询。
-
问题分析 主要从八个方面考虑: 排除数据库实例异常 例如:数据库系统故障,实例状态异常,实例或表被锁定。 (常见)使用正确的客户端连接方式 内网连接需要TaurusDB标准版与E CS 实例必须在同一区域、VPC内。 公网连接需要购买或使用已有EIP,并对实例绑定该EIP 。 使用正确的SSL方式安全连接 界面SSL开关开启和关闭,分别对应不用的连接命令。例如: 开关开启:mysql -h 172.16.0.31 -P 3306 -u root -p --ssl-ca=/tmp/ca.pem 开关关闭:mysql -h 172.16.0.31 -P 3306 -u root -p 排除连接命令错误 例如:连接地址错误、端口参数配置错误、用户名和密码错误、SSL方式下命令错误。 (常见)排除网络不通 内网访问 确认ECS与TaurusDB标准版是否在同一个区域,VPC。 检查安全组规则。 安全组外访问安全组内的TaurusDB标准版实例时,需要为安全组添加相应的入方向规则。 在ECS上测试是否可以正常连接到TaurusDB标准版实例地址的端口。 公网访问 检查安全组规则。 安全组外访问安全组内的TaurusDB标准版实例时,需要为安全组添加相应的入方向规则。 检查网络ACL规则。 相同区域主机进行ping测试。 (常见)排除实例的连接数满的情况 实例连接数过多,可能会导致业务侧无法正常连接。 (常见)排除实例的磁盘满的情况 当实例处于“磁盘空间满”状态时,影响数据的正常读写操作。 连接失败的常见报错 包含连接失败的常见报错,以及相应的解决方法。
-
注意事项 状态可以是多个值之一。但是,在异步连接过程之外只能看到其中两个:CONNECTION_OK和CONNECTION_BAD。与数据库的良好连接状态为CONNECTION_OK,与数据库连接失败状态为CONNECTION_BAD。通常,“正常”状态将一直保持到PQfinish,但通信失败可能会导致状态过早变为CONNECTION_BAD。在这种情况下,应用程序可以尝试通过调用进行恢复PQreset。
-
返回值 ConnStatusType:连接状态的枚举,包括: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 CONNECTION_STARTED 等待进行连接。 CONNECTION_MADE 连接成功;等待发送。 CONNECTION_AWAITING_RESPONSE 等待来自服务器的响应。 CONNECTION_AUTH_OK 已收到认证;等待后端启动结束。 CONNECTION_SSL_STARTUP 协商SSL加密。 CONNECTION_SETENV 协商环境驱动的参数设置。 CONNECTION_OK 连接正常。 CONNECTION_BAD 连接故障。
-
参数 表1 PQsetdbLogin参数 关键字 参数说明 pghost 要连接的主机名,详见连接参数说明描述的host字段。 pgport 主机服务器的端口号,详见连接参数说明描述的port字段。 pgoptions 添加命令行选项以在运行时发送到服务器,详见连接参数说明描述的options字段。 pgtty 忽略(该选项声明服务器日志的输出方向)。 dbName 要连接的数据库名,详见连接参数说明描述的dbname字段。 login 要连接的用户名,详见连接参数说明描述的user字段。 pwd 如果服务器要求密码认证,所用的密码,详见连接参数说明描述的password字段。
-
问题分析 主要从八个方面考虑: 排除数据库实例异常 例如:数据库系统故障,实例状态异常,实例或表被锁定。 (常见)使用正确的客户端连接方式 内网连接需要TaurusDB标准版与ECS实例必须在同一区域、VPC内。 公网连接需要购买或使用已有EIP,并对实例绑定该EIP 。 使用正确的SSL方式安全连接 界面SSL开关开启和关闭,分别对应不用的连接命令。例如: 开关开启:mysql -h 172.16.0.31 -P 3306 -u root -p --ssl-ca=/tmp/ca.pem 开关关闭:mysql -h 172.16.0.31 -P 3306 -u root -p 排除连接命令错误 例如:连接地址错误、端口参数配置错误、用户名和密码错误、SSL方式下命令错误。 (常见)排除网络不通 内网访问 确认ECS与TaurusDB标准版是否在同一个区域,VPC。 检查安全组规则。 安全组外访问安全组内的TaurusDB标准版实例时,需要为安全组添加相应的入方向规则。 在ECS上测试是否可以正常连接到TaurusDB标准版实例地址的端口。 公网访问 检查安全组规则。 安全组外访问安全组内的TaurusDB标准版实例时,需要为安全组添加相应的入方向规则。 检查网络ACL规则。 相同区域主机进行ping测试。 (常见)排除实例的连接数满的情况 实例连接数过多,可能会导致业务侧无法正常连接。 (常见)排除实例的磁盘满的情况 当实例处于“磁盘空间满”状态时,影响数据的正常读写操作。 连接失败的常见报错 包含连接失败的常见报错,以及相应的解决方法。
-
问题现象 连接 GaussDB (DWS) 数据库时报错,提示客户端连接数太多。 使用gsql等SQL客户端工具连接数据库时,出现如下报错信息: 1 FATAL: Already too many clients, active/non-active/reserved: 5/508/3. 使用客户端并发连接数据库时,出现如下报错信息: 1 2 [2019/12/25 08:30:35] [ERROR] ERROR: pooler: failed to create connections in parallel mode for thread 140530192938752, Error Message: FATAL: dn_6001_6002: Too many clients already, active/non-active: 468/63. FATAL: dn_6001_6002: Too many clients already, active/non-active: 468/63.
-
处理方法 可优先通过如下方法进行应急处理: 临时将所有non-active的连接释放掉。 1 SELECT PG_TERMINATE_BACKEND(pid) from pg_stat_activity WHERE state='idle'; 在GaussDB(DWS)控制台设置会话闲置超时时长session_timeout,在闲置会话超过所设定的时间后服务端将主动关闭连接。 session_timeout默认值为600秒,设置为0表示关闭超时限制,一般不建议设置为0。 session_timeout设置方法如下: 登录GaussDB(DWS) 管理控制台。 在左侧导航栏中,单击“集群管理”。 在集群列表中找到所需要的集群,单击集群名称,进入集群“基本信息”页面。 单击“参数修改”页签,修改参数“session_timeout”,然后单击“保存”。 在“修改预览”窗口,确认修改无误后,单击“保存”。 如果上述方式未能满足业务需求,可继续参考以下方式进行处理: 当前数据库连接已经超过了最大连接数场景处理方式: 查看CN上的连接来自哪里,总数量以及是否超过当前max_connections(默认值CN节点为800,DN节点为5000)。 1 SELECT coorname, client_addr, count(1) FROM pgxc_stat_activity group by coorname, client_addr order by coorname; 判断是否可以调大max_connections,调整策略如下: 调大CN的max_connections会造成并发连接到DN的查询变多,所以需要同步调大DN的max_connections和comm_max_stream。 CN/DN的max_connections一般按照原来的2倍调大,原值比较小的集群可以调节到4倍。 为避免在准备步骤失败,max_prepared_transactions的值不能小于max_connections,建议至少将其设置为等于max_connections,这样每个会话都可以有一个等待中的预备事务。 若上一步中判断可以调整max_connections,则可通过管理控制台调整最大连接数max_connections。 在管理控制台上,集群“基本信息”页面,单击“参数修改”页签,修改参数“max_connections”为合适的值,然后单击“保存”。 针对设置了用户最大连接数的场景处理方式: 在创建用户时由CREATE ROLE命令的CONNECTION LIMIT connlimit子句直接设定,也可以在设定以后用ALTER ROLE的CONNECTION LIMIT connlimit子句修改。 使用PG_ROLES视图查看指定用户的最大连接数。 1 2 3 4 5 SELECT ROLNAME,ROLCONNLIMIT FROM PG_ROLES WHERE ROLNAME='role1'; rolname | rolconnlimit ---------+-------------- role1 | 10 (1 row) 修改用户的最大连接数。 1 ALTER ROLE role1 connection limit 20;
-
检查原因 基本原因可能有以下几种: 集群状态是否正常。 连接命令是否正确,用户名、密码、IP地址或端口无误。 安装客户端的操作系统类型、版本是否正确。 安装客户端的操作是否正确。 如果是在公有云环境无法连接,还需要检查以下可能导致异常的原因: 弹性云服务器是否与集群在相同可用分区、虚拟私有云、子网和安全组。 安全组的出入规则是否正确。 如果是在互联网环境无法连接,还需要检查以下可能导致异常的原因: 用户网络是否与互联网可以正常连通。 用户网络防火墙策略是否限制了访问。 用户网络是否需要通过代理才能访问互联网。
-
创建 MySQL 兼容模式数据库 当源数据库为 MySQL 或 GoldenDB,迁移到 GaussDB 时,请参照以下步骤创建 MySQL 兼容模式数据库: 以具有创建数据库权限的用户登录 GaussDB 数据库。 执行以下命令,创建兼容 MySQL 模式 GaussDB 数据库。 集中式版B兼容: create database databasename dbcompatibility = 'B'; 集中式版M兼容: create database databasename dbcompatibility = 'M'; 分布式版: create database databasename dbcompatibility = 'MySQL'; 执行以下命令,查看是否创建成功。 select * from pg_database where datname = 'databasename'; 集中式版B兼容:若datcompatibility兼容性一列为B,则MySQL兼容数据库创建成功。 集中式版M兼容:若datcompatibility兼容性一列为M,则M兼容数据库创建成功。 分布式版:若datcompatibility兼容性一列为MySQL,则MySQL兼容数据库创建成功。 源库为 GoldenDB 迁移 GaussDB 集中式版时,暂时仅支持迁移到 B 兼容模式。
-
创建 Oracle 兼容模式数据库 UGO 对于 Oracle、PostgreSQL 和 SQL Server 迁移到 GaussDB 的自动转换方案均基于 GaussDB 的 Oracle兼容模式设计,在进行这些链路的迁移时,请参照以下步骤创建 Oracle 兼容模式数据库: 以具有创建数据库权限的用户登录 GaussDB 数据库。 执行以下命令,创建兼容 Oracle 模式 GaussDB 数据库。 集中式版: create database databasename dbcompatibility = 'A'; 分布式版: create database databasename dbcompatibility = 'ORA'; 执行以下命令,查看是否创建成功。 select * from pg_database where datname = 'databasename'; 集中式版:若datcompatibility兼容性一列为A,则Oracle兼容数据库创建成功。 分布式版:若datcompatibility兼容性一列为ORA,则Oracle兼容数据库创建成功。 UGO 不支持 PostgreSQL 迁移至 GaussDB PG兼容模式。
-
如何使用GeminiDB Redis提供的多个节点IP地址 GeminiDB Redis提供多个IP地址供客户连接,连接任何一个IP地址都可以访问整个集群,其目的是为了提供负载均衡和容灾能力。 您可以通过以下三种方法使用多个IP。 业务侧实现连接池,实现负载均衡和故障检测处理。 联系客服,为您配置ELB(Elastic Load Balance,弹性负载均衡)服务,提供唯一IP供客户使用。 对多个proxy IP配置DNS 域名 ,详情请参见通过负载均衡地址连接实例(推荐)章节中“通过内网域名连接实例”的方法。 父主题: 数据库连接
-
GaussDB跨地域内网能访问吗 跨地域内网默认不能访问,不同区域的云服务之间内网互不相通。您可以通过公网访问,或者通过云连接/VPN打通网络实现内网访问。 弹性公网IP:不能通过内网IP地址访问GaussDB实例时,可以使用公网访问。具体请参见通过gsql连接实例。 云连接:对于不同区域的VPC,不区分是否同一账号,都可以互连,跨区域连接实现全球云上网络。具体请参见跨区域VPC互连。 虚拟专用网络 VPN:基于Internet使用加密隧道将不同区域的VPC连接起来。具备成本低、配置简单、即开即用等优点。但它的网络质量依赖Internet。具体请参见通过VPN连接VPC。 父主题: 数据库连接
-
关于max_connections max_connections:允许同时连接的客户端总数。如果设定值为default,表示该参数和数据库实例的内存(单位:GB)相关,计算公式如下: max_connections上限估计数值 = 节点可用内存 / 单个连接预估占用内存。 节点可用内存=总内存 - Buffer Pool占用内存 - 1GB(mysqld进程、操作系统、监控程序等)。 单个连接预估占用内存(single_thread_memory) = thread_stack(256KB) + binlog_cache_size(32KB) + join_buffer_size(256KB) + sort_buffer_size(256KB) + read_buffer_size(128KB) + read_rnd_buffer_size(256KB)= 大约1MB。
-
补充解释 PQbackendPID函数返回值在GaussDB中表示后台线程的槽位ID (SlotID),而并非后台线程的BackendPid。由于存在上述差异,不建议按照PostgreSQL同名函数的语义执行。若希望获取该连接的后台PID,可以通过执行系统函数pg_backend_pid获取。同时,依赖libpq的其他驱动程序的同名接口(如Python连接驱动psycopg2的get_backend_pid函数)也遵循上述规则。
更多精彩内容
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格