检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
慢日志显示SQL语句扫描行数为0 场景描述 查询慢日志中记录SQL执行65秒,但是扫描行数为0。 原因分析 被中断的查询超过慢日志设置阈值也会记录慢日志,但是所记录的扫描行数为0。客户JDBC连接设置了查询超时: 解决方案 优化SQL或者将socketTimeout设置合理值。 父主题:
SQL诊断结果中记录的行数远小于慢日志中的扫描行数 场景描述 RDS for MySQL实例在DAS界面执行SQL诊断时,SQL语句诊断结果中执行计划记录的行数远小于慢SQL日志中的扫描行数。 原因分析 在查询优化器决定使用全表扫描的方式对某个表执行查询的时候,执行计划的rows
数据库安全设置 账户密码复杂度设置 RDS for MySQL Console端数据库密码复杂度,请参见购买RDS for MySQL实例中的数据库配置表格。 RDS for MySQL对在客户端新创建的数据库用户,设置了密码安全策略: 口令长度至少8个字符。 口令至少包含大写字母、小写字母、数字和特殊字符各一个。
DDL工具简介 MySQL 5.6之前数据库中对大表的表结构修改的DDL操作通常会引发DML语句阻塞,复制延迟升高等问题,导致数据库对外呈现出一种“异常”的状态。本文介绍了MySQL原生的数据库DDL方式Copy和Inplace算法、开源工具gh-ost以及MySQL 8.0新增
分析对应时间段该实例的慢日志,该SQL执行快时其扫描行数为百万级,当SQL执行慢时其扫描行数为千万级,与业务确认该表短期内并无大量数据插入,因此推断执行慢是因为未走索引或选错索引。且通过EXPLAIN查看该SQL的执行计划确实是全表扫描。 图2 慢日志 在实例上对该表执行SHOW INDEX
迟容忍较低的业务,推荐使用gh-ost工具来完成DDL操作。使用了MySQL 8.0.12版本及以上的用户,当满足instant算法条件时,可指定使用instant来减少DDL操作对业务的影响。 父主题: MySQL Online DDL工具使用
gh-ost工具 背景 Percona社区的pt-osc的开源DDL工具依赖于触发器来将源表的写操作映射到新表。虽然使用触发器可以提高同步的效率,但触发器执行的开销会对于主库的性能产生很大的影响。另外拷贝数据和变更数据可能处于并行状态,如果在迁移过程中对表的更新比较频繁会引入大量的锁竞争问题。
MySQL原生的DDL工具 Copy算法 按照原表定义创建一个新的临时表。 对原表加写锁(禁止DML)。 在1建立的临时表执行DDL。 将原表中的数据copy到临时表。 释放原表的写锁。 将原表删除,并将临时表重命名为原表。 采用copy方式期间需要锁表,禁止DML写操作。当Lock
canal工具报错权限不足 场景描述 在搭建canal环境,使用指定用户从RDS for MySQL获取Binlog时,启动canal经常会报如下错误:'show master status' has an error! Access denied: you need (at least
MySQL Online DDL工具使用 DDL工具简介 MySQL原生的DDL工具 gh-ost工具 instant秒级加列 DDL工具测试对比 父主题: 使用数据库
其他使用问题 慢日志显示SQL语句扫描行数为0 SQL诊断结果中记录的行数远小于慢日志中的扫描行数 RDS for MySQL慢日志里面有毫秒级别的SQL 查看RDS存储空间使用量 错误日志报错The table is full 审计日志上传策略说明 自增字段取值 表的自增AUTO_INCREMENT初值与步长
32GB,操作系统镜像使用CentOS 7.6 64bit位版本。由于压测工具需要安装额外的编译工具,建议ECS绑定弹性IP。 测试工具 Sysbench是一款基于LuaJIT的,模块化多线程基准测试工具,常用于数据库基准测试。通过内置的数据库测试模型,采用多线程并发操作来评估数
InnoDB逻辑读速率 登录实例,查看实话会话,发现大量会话在执行SELECT COUNT(*)。 EXPLAIN确认该SQL的执行计划,发现走全表扫描且单条扫描行数在35万+,其并未走索引。 进一步查看该表的表结构,发现该表仅对字段“is_deleted”添加了一个索引“IDX_XX_USER
mysqlbinlog工具使用方法 本章节介绍mysqlbinlog工具的使用方法,用于本地解析binlog。 binlog的基本组成单元是binlog_event,同时server是以二进制的格式写入binlog文件,所以如果想通过文本格式显示binlog内容,需要mysqlb
长的SQL语句)。本文介绍导致慢SQL的原因和解决方案。 SQL异常 原因及现象 SQL异常的原因很多,例如库表结构设计不合理、索引缺失、扫描行数太多等。 您可以在控制台的慢日志页面,下载并查看执行缓慢的SQL,慢SQL的执行耗时等信息。具体操作,请参见查看或下载慢日志。 解决方案
长的SQL语句)。本文介绍导致慢SQL的原因和解决方案。 SQL异常 原因及现象 SQL异常的原因很多,例如库表结构设计不合理、索引缺失、扫描行数太多等。 您可以在控制台的慢日志页面,下载并查看执行缓慢的SQL,慢SQL的执行耗时等信息。具体操作,请参见查看或下载慢日志。 解决方案
使用mysqlbinlog工具查看Binlog备份文件 操作背景 mysqlbinlog工具用于解析Binlog备份文件,包含在MySQL软件包中。您可在MySQL官网下载对应版本的MySQL软件包,解压并获取解压包中的mysqlbinlog工具(MySQL 5.6和5.7对应的mysqlbinlog版本均为3
为什么要采用mysqldump和pg_dump工具迁移 该方案优点是简单,容易上手,缺点是停机时间较长。因此它适用于数据量不大,或者允许停机的时间较长,并且在这个时间范围内能够完成的数据。 由于云数据库RDS服务提供的服务与原来的数据库服务是完全兼容的,所以对于用户来说,从原有数
pt-osc工具连接RDS for MySQL主备实例卡住 场景描述 使用pt-osc工具(pt-online-schema-change)进行online DDL操作时,会遇到连接本地单机实例执行命令成功,但连接云上RDS for MySQL主备实例会卡住的情况,如下图所示,没有输出:
instant秒级加列 背景 通常情况下大表的DDL操作都会对业务产生很大的影响,需要在业务低峰期做。MySQL 5.7支持原生DDL工具Copy和Inplace算法、以及开源DDL工具gh-ost,减少了DDL期间DML操作被阻塞的情况。但是大表DDL仍然需要花费很长时间。 instant秒级加列