检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
MySQL)只读节点的磁盘占用比主节点高195GB。 原因分析 磁盘空间计算方式为:共享存储中占用空间大小+Binlog占用空间大小+数据盘(存放临时表)占用空间大小 排查只读节点上运行的事务: 发现有一直未提交的长事务,如上图所示(事务一天前开始),该长事务产生的临时表一直未清理,导致磁盘占用高。
MySQL)不支持在数据库中执行修改全局参数的命令,需要通过管理控制台修改。 解决方案 登录管理控制台修改参数。 登录管理控制台。 单击管理控制台左上角的,选择区域和项目。 在页面左上角单击,选择“数据库 > 云数据库 GaussDB(for MySQL)”。 在“实例管理”页面,选择指定的实例,单击实例名称,进入实例概览页面。
浮点数的等值比较问题是一种常见的浮点数问题。因为在计算机中,浮点数存储的是近似值而不是精确值,所以等值比较、数学运算等场景很容易出现预期外的情况。 MySQL中涉及浮点数的类型有float和double。如下示例中遇到的问题: 解决方案 使用精度的方法处理,使用字段与数值的差值的绝对值小于可接受的精度的方法。示例:
基本使用类 查看GaussDB(for MySQL)的存储容量 修改库名和修改表名 字符集和字符序的默认选择方式 自增字段值跳变的原因 表的自增AUTO_INCREMENT初值与步长 修改表的自增AUTO_INCREMENT值 自增主键达到上限,无法插入数据 自增字段取值 自增属
to requested target 原因分析 从错误截图中可以看出,使用的是mariadb的jar包,而非MySQL的官方驱动包,而mariadb与官方的使用方法略有区别。 解决方案 对于mariadb的连接串应该为: String url = "jdbc:mysql://xxx
OW CREATE TABLE的输出中打印MySQL专用列选项。 NO_KEY_OPTIONS:不要在SHOW CREATE TABLE的输出中打印MySQL专用索引选项。 NO_TABLE_OPTIONS:不要在SHOW CREATE TABLE的输出中打印MySQL专用表选项(例如ENGINE)。
istio-citadel证书机制导致每隔45天出现断连 场景描述 业务侧发现数据库每隔45天同一时间,多台数据库实例的连接数骤降。查看服务端连接数监控指标如下: 客户端出现大量报错如下: 原因分析 排查业务侧是否有间隔45天的定时任务。 客户端如果使用了istio等证书加密机制,分析证书相关日志,是否有如下类似信息。如果有,说明是证书过期导致。
MySQL)的参数“binlog_rows_query_log_events”的值是否设置为1或ON。 目前canal只能支持ROW格式的Binlog增量订阅。 当GaussDB(for MySQL)的参数“binlog_rows_query_log_events”的值设置为1或
升存储使用效率,构建以数据为中心的全栈数据服务架构的解决方案。 存储抽象层 (Storage Abstraction Layer):将原始数据库基于表文件的操作抽象为对应分布式存储,向下对接DFV,向上提供高效调度的数据库存储语义,是数据库高性能的核心。 SQL解析层:与MySQL
使用如下命令,查看当前的时区: show variables like "%zone%"; 故障场景中使用的是utc+8时区,如下图,所以timestamp字段默认值需要加8小时才是有效范围,有效支持的范围是从1970-01-01 08:00:01开始; 解决方案 执行命令,修改timestamp字段参数默认值。
该报错通常出现在比较两个字符集编码不同的表、字段或数据库时。因为客户端连接时使用的字符集与数据库字符集不同导致报错。 解决方案 如果客户端使用了和数据库不同的字符集,需要调整客户端配置,使用相同的字符集连接数据库,或者在连上数据库后显式设置成对应的字符集,即可正常查询。 显式设置字符集的方法如下: set
因为其他只读节点磁盘占用空间正常,且是偶尔出现,说明该实例磁盘占用高,与承载的业务相关。 获取该实例的慢日志,分析磁盘占用高期间,是否有对应的慢SQL。 如果有慢SQL,执行explain [慢SQL语句],分析相应慢SQL语句。 观察explain语句输出的extra列,是否有using temporary、using
during query”。 解决方案 ERROR 2013是MySQL常见错误,一般为配置错误导致。 “wait_timeout”:服务器关闭非交互连接之前等待活动的秒数。 “interactive_timeout”:服务器关闭交互连接之前等待活动的秒数。 查看实例状态是否处于正常状态。
MySQL)存储过程执行很慢,处理少量数据耗时1min以上,而单独执行存储过程中的SQL语句却很快。 原因分析 存储过程和相关表、库的字符集不一致,导致查询结果存在大量字符转换,从而执行缓慢。 排查过程: 使用如下命令查看存储过程和相关表的定义,观察存储过程和表的字符集是否一致。 SHOW CREATE PROCEDURE
这是由数据库的buffer_pool机制决定的: 第一次执行时,数据在磁盘上,称之为冷数据,读取需要一定的耗时。 读取完,数据会被存放于内存的buffer_pool中,称为热数据,读取迅速;对于热数据的访问速度极大地超过冷数据,所以当数据是热数据时,SQL语句的执行速度会远快于冷数据。
使用临时表会带来额外的开销,所以一般情况下性能会较差。 综上,在使用distinct或group by的时候,尽量在合理的情况下设置可以包含所有依赖字段的索引,优化示例: 没有合适索引,导致需要用到临时表。 有合适的索引,不会使用临时表,直接走索引。 解决方案 在使用distinct或group
'table_name'\G 解决方案 针对表空间膨胀的问题,可以进行表空间优化整理,从而缩小空间,执行如下SQL命令: optimize table table_name; optimize table命令会有短暂锁表操作,所以进行表空间优化时,建议避开业务高峰期,避免影响正常业务的进行。 父主题:
java:61) 原因分析 canal拉取Binlog时需要赋予REPLICATION SLAVE, REPLICATION CLIENT权限。 解决方案 使用管理员账户给相应用户授予REPLICATION SLAVE, REPLICATION CLIENT权限。 GRANT SELECT,
'table_name'\G; 解决方案 针对表空间膨胀的问题,可以进行表空间优化整理,从而缩小空间,执行如下SQL命令: optimize table table_name; optimize table命令会有短暂锁表操作,所以进行表空间优化时,建议避开业务高峰期,避免影响正常业务的进行。 父主题:
部分表发生死锁,导致CPU一定幅度抬升。 死锁的表中有大量的外键,这些表的记录在更新时,不仅需要获取本表的行锁,还需要检查外键关联表的记录,获取相应锁。高并发情况下,比普通表更容易锁冲突或死锁,详解官方文档。 当MySQL检查到死锁的表时,会进行事务的回滚。其影响范围不仅是某个表,还会影响外键所在的表,最终导致数据库相关操作变慢。