检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
MySQL原生的DDL工具 Copy算法 按照原表定义创建一个新的临时表。 对原表加写锁(禁止DML)。 在1建立的临时表执行DDL。 将原表中的数据copy到临时表。 释放原表的写锁。 将原表删除,并将临时表重命名为原表。 采用copy方式期间需要锁表,禁止DML写操作。当Lock
DDL工具简介 MySQL 5.6之前数据库中对大表的表结构修改的DDL操作通常会引发DML语句阻塞,复制延迟升高等问题,导致数据库对外呈现出一种“异常”的状态。本文介绍了MySQL原生的数据库DDL方式Copy和Inplace算法、开源工具gh-ost以及MySQL 8.0新增
测试结果 MySQL原生copy算法:update、insert执行会阻塞,select语句可以正常执行。 MySQL原生inplace算法:不会长时间阻塞DML语句,且对大表添加一列耗时最短。 gh-ost工具:几乎不阻塞DML语句,DDL添加一列耗时比MySQL原生的两种算法时间长。
MySQL Online DDL工具使用 DDL工具简介 MySQL原生的DDL工具 gh-ost工具 instant秒级加列 DDL工具测试对比 父主题: 使用数据库
DDL进度显示 功能介绍 大表的DDL操作往往会比较耗时,社区版MySQL无法感知整个DDL的进行阶段与该阶段的进度,可能给用户带来很大的困扰。 针对以上问题,华为云RDS for MySQL推出了DDL进度显示特性,用户可以通过查询“INFORMATION_SCHEMA.INN
gh-ost工具 背景 Percona社区的pt-osc的开源DDL工具依赖于触发器来将源表的写操作映射到新表。虽然使用触发器可以提高同步的效率,但触发器执行的开销会对于主库的性能产生很大的影响。另外拷贝数据和变更数据可能处于并行状态,如果在迁移过程中对表的更新比较频繁会引入大量的锁竞争问题。
instant秒级加列 背景 通常情况下大表的DDL操作都会对业务产生很大的影响,需要在业务低峰期做。MySQL 5.7支持原生DDL工具Copy和Inplace算法、以及开源DDL工具gh-ost,减少了DDL期间DML操作被阻塞的情况。但是大表DDL仍然需要花费很长时间。 instan
processlist”命令,排查业务侧在备份时间窗内是否有DDL操作。 解决方案 停止相应的DDL操作后,重试手动备份。 建议此后的DDL业务变更操作应尽量避开备份窗口。 父主题: 备份恢复
n)执行DDL语句导致。问题复现步骤: 会话1启动一致性快照事务。 会话2执行DDL操作,修改表结构。 会话1执行普通的查询语句。 也可以通过Binlog或者审计日志,分析业务侧是否有同一个表DDL和一致性快照事务一起执行的情况。 解决方案 若经排查,是由上述原因引起的报错,需要
RDS for MySQL Binlog生成的机制 场景一 RDS for MySQL实例设置了7天的Binlog保留,按照5分钟生成一个Binlog与实际的数据量不符。 原因分析: RDS for MySQL实例自创建完成时起,生成全量自动备份文件之后,每5分钟会生成Binlog。
DDL操作对磁盘空间的要求 为了确保业务正常,您应该避免在业务高峰进行DDL(Data Definition Language)等可能导致磁盘空间暴增的操作。必须进行DDL操作时,请务必确保磁盘空间大于等于表空间两倍大小+10GB,即:假设您的表空间为500GB,那么,您在进行D
令标签匹配的命令标签的客户端SQL语句。这是安全的,但是可能会有未处理的部署。 如果是true,将只自动复制包含要传播的安全命令标签的DDL。比如,DDL和DML混合是被禁止的;如果在一个命令中有两个以上的DDL语句,作用在复制和不复制的表上,会出现涉及多个表的DDL问题。 基于
pt-osc工具连接RDS for MySQL主备实例卡住 场景描述 使用pt-osc工具(pt-online-schema-change)进行online DDL操作时,会遇到连接本地单机实例执行命令成功,但连接云上RDS for MySQL主备实例会卡住的情况,如下图所示,没有输出:
查看CES指标实时复制时延,下图仅供参考: 原因分析 根据MySQL主备复制延迟场景及解决方案和MySQL主备复制原理简介的相关分析,可以推测此场景为大事务或DDL操作导致。 可以通过分析全量日志或慢日志,观察是否有大事务或DDL操作: 慢日志中有如下加索引的DDL操作,表的数据量上亿,耗时近一天,从而导致
使用rds_hwdrs_ddl插件 简介 RDS PostgreSQL支持rds_hwdrs_ddl插件,该插件是为了通过创建触发器和函数实现PostgreSQL增量DDL同步时用户手动创建对象出现权限不足而实现的。 支持的版本说明 该插件支持从9.5到15的版本。 可通过以下SQL语句查询当前实例是否支持该插件:
mysqlbinlog工具使用方法 本章节介绍mysqlbinlog工具的使用方法,用于本地解析binlog。 binlog的基本组成单元是binlog_event,同时server是以二进制的格式写入binlog文件,所以如果想通过文本格式显示binlog内容,需要mysqlb
RDS for MySQL 测试方法 RDS for MySQL 5.6测试数据 RDS for MySQL 5.7测试数据 RDS for MySQL 8.0测试数据
使用mysqlbinlog工具查看Binlog备份文件 操作背景 mysqlbinlog工具用于解析Binlog备份文件,包含在MySQL软件包中。您可在MySQL官网下载对应版本的MySQL软件包,解压并获取解压包中的mysqlbinlog工具(MySQL 5.6和5.7对应的mysqlbinlog版本均为3
自建MySQL迁移到RDS for MySQL 方案概述 资源规划 操作流程 上云操作 父主题: RDS for MySQL
安装MySQL客户端 MySQL官网提供了针对不同操作系统的客户端安装包,以5.6为例。单击此处下载MySQL最新版本,单击此处下载其他归档版本。下面将以Red Hat Linux为例介绍如何获取相应安装包及完成安装。 操作步骤 获取安装包。 在下载页面找到对应版本链接,以MySQL-client-5