检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
比较、数学运算等场景很容易出现预期外的情况。 MySQL中涉及浮点数的类型有float和double。如下示例中遇到的问题: 解决方案 使用精度的方法处理,使用字段与数值的差值的绝对值小于可接受的精度的方法。示例: 使用定点数类型(DECIMAL)取代浮点数类型,示例: 父主题:
ut等,会影响客户端连接的超时时间。如果超过这个时间,一直没使用的连接就会断开。 解决方案 将socketTimeout、connectTimeout等参数的默认值调整为合适的值。 在程序中注意处理断线重连的功能。 推荐直接使用连接池。 父主题: 参数类
持锁长事务导致后续业务报等锁超时的解决办法 场景描述 业务侧实例上报错误码1205,等锁超时提示。 MySQL error code MY-001205 (ER_LOCK_WAIT_TIMEOUT): Lock wait timeout exceeded; try restarting
allowed”。详见官方文档。 解决方案 MySQL机制导致,建议优化业务,避免单表创建过多索引。 InnoDB表的其他限制: 一个表最多可以包含1017列(包含虚拟生成列)。 InnoDB对于使用DYNAMIC或COMPRESSED行格式的表,索引键前缀长度限制为3072字节。 多列索引最多允许16列,超过限制会报错。
取值范围: 0:表示权重负载模式。 1:表示负载均衡模式(数据库主节点不接受读请求)。 2:表示负载均衡模式(数据库主节点接受读请求)。 balance_route_mode_enabled Boolean 参数解释: 数据库代理版本是否支持负载均衡模式。 取值范围: true 支持。 false
xxx discard/import tablespace报错 数据库报错Native error 1461的解决方案 创建表失败报错Row size too large的解决方案 Order by limit分页出现数据重复问题 执行select * from sys.innodb_lock_waits报错
联合索引设置不当导致慢SQL的解决办法 场景描述 业务侧云数据库GaussDB(for MySQL)实例上以往执行耗时8秒的查询,在11:00后耗时超过30秒。 原因分析 查看查询变慢对应的时间段中,实例CPU监控指标并无飙升情况且使用率一直都较低,因此排除了CPU冲高导致查询变慢的可能。
存储过程和相关表字符集不一致导致执行缓慢 场景描述 TaurusDB存储过程执行很慢,处理少量数据耗时1min以上,而单独执行存储过程中的SQL语句却很快。 原因分析 存储过程和相关表、库的字符集不一致,导致查询结果存在大量字符转换,从而执行缓慢。 排查过程: 使用如下命令查看存
SQL处理,客户端的超时时间大于该时间,就会报错。 进一步查看线程池配置(默认开启),可以在控制台查看。 可以看出,threadpool_size为1,threadpool_stall_limit为500ms,threadpool_oversubscribe为3,线程池处理连接等待的时间主要与上述3个参数相关:
失效,请谨慎配置。为了避免您的业务受影响,建议在使用增删只读节点功能时,在“数据库代理”中将Serverless节点设置为相同权重或使用负载均衡模式。 一个实例支持的最大只读节点的个数为15。因此,增删只读节点策略的只读节点上限与实例中原有的非Serverless节点个数总和不能
log,确认是否有拒绝连接的日志。 查看root权限,发现有两个root账号,其中一个root限制host必须是IP必须是192开头。 解决方案 联系华为云客服协助删除多余的root账号。 父主题: 连接类
该场景下,SQL语句一般比较简单,执行效率也高,数据库侧优化余地小,需要从业务源头优化。 解决方案: 单纯的QPS高导致CPU使用率过高,往往出现在实例规格较小的情况下,建议升级实例CPU规格。 优化慢查询,优化方法参照场景1 慢查询导致CPU升高的解决方案。若优化慢查询后效果不明显,建议升级实例CPU规格。 对
结果由分组中的值连接组合而成。需要注意的是:这个函数的结果长度是有限制的,由group_concat_max_len参数决定。 示例: 解决方案 调整group_concat_max_len参数值,适配GROUP_CONCAT()函数的结果长度。 父主题: SQL类
查询慢日志中记录SQL执行65秒,但是扫描行数为0。 原因分析 被中断的查询超过慢日志设置阈值也会记录慢日志,但是所记录的扫描行数为0。客户JDBC连接设置了查询超时: 解决方案 优化SQL或者将sockTimeOut设置合理值。 父主题: 基本使用类
执行select count(0)进程信息: 原因分析 应用端大并发触发select count(0)慢操作,导致系统CPU资源耗尽。 解决方案 申请kill权限,间歇性批量执行kill select count(0)慢操作,定位select count(0)触发来源,停止来源,并拆分优化sql。
of) the PROCESS privilege(s) 原因分析 mysqldump使用指定用户导出数据时,需要赋予PROCESS权限。 解决方案 使用管理员账户给相应用户授予PROCESS权限。 GRANT SELECT,PROCESS ON *.* TO ‘dump_user’@’%’;
GaussDB(for MySQL)连接数过多,可能会导致业务侧无法正常连接,也会导致实例全量备份和增量备份失败,影响业务的正常使用。 解决方案 请及时排查业务侧连接是否有效,优化实例连接,释放不必要的连接。 云监控服务目前可以监控数据库CPU、内存、磁盘、连接数等指标,并且设置告警策略,出现告警时可以提前识别风险。
增加表字段后出现运行卡顿现象 故障描述 当给MySQL实例的表中增加一个字段,出现系统无法访问的现象。 解决方案 因增加表字段而引起数据库出现性能问题,有可能是未对新增字段添加索引,数据量大导致消耗了大量的CPU资源。为此,提出如下建议恢复数据库性能。 添加对应索引、主键。 优化慢SQL语句。
如果一个数据库开启了GTID,使用mysqldump备份或者转储的时候,即使不是MySQL全库(所有库)备份,也会备份整个数据库所有的GTID号。 解决方案 在TaurusDB数据库进行导出备份和恢复的时候,需要注意是否启用数据库用GTID模式。 如果开启,则在mysqldump数据时,应该
会话2执行DDL操作,修改表结构。 会话1执行普通的查询语句。 也可以通过Binlog或者审计日志,分析业务侧是否有同一个表DDL和一致性快照事务一起执行的情况。 解决方案 若经排查,是由上述原因引起的报错,需要业务侧避免同一个表的DDL语句和一致性快照事务同时执行。 父主题: SQL类