MySQL 5.7→8.0升级相关FAQ

目录

Continue reading “MySQL 5.7→8.0升级相关FAQ”

使用DMS向Redshift Serverless复制数据所需要的IAM Role

更新了Redshift加载IAM Role的说明

一、背景

在使用DMS向Redshift Serverless复制数据的过程中,添加Redshift Serverless为Target Endpoint,然后按下测试按钮,此时后收到报错:

Role 'dms-access-for-endpoint' is not configured properly.

根据有关文档,配置完成这个IAM Role后,开始Redshift复制任务,又会遇到错误,在DMS生成的CloudWatch日志中,出现如下错误:

2023-10-31T15:12:44 [TARGET_LOAD     ]E:  RetCode: SQL_ERROR  SqlState: XX000 NativeError: 30 Message: [Amazon][Amazon Redshift] (30) Error occurred while trying to execute a query: [SQLState XX000] ERROR:  exception name : UnauthorizedException, error type : 135, message: The requested role arn:aws:iam::1xxxxxxx:role/dms-access-for-endpoint is not associated to cluster, should retry : 0 DETAIL:     -----------------------------------------------   error:  exception name : UnauthorizedException, error type : 135, message: The requested role arn:aws:iam::133129065110:role/dms-access-for-endpoint is not associated to cluster, should retry : 0   code:      30000   context:      query:     409714[child_sequence:1]   location:  xen_aws_credentials_mgr.cpp:422   process:   padbmaster [pid=1073955240]   -----------------------------------------------  [1022500]  (ar_odbc_stmt.c:5007)

如何让DMS能够正确的连接到Redshift Serverless?

Continue reading “使用DMS向Redshift Serverless复制数据所需要的IAM Role”

DMS停止服务后Resume续传的测试

一、背景

当DMS配置为Full Load + CDC(又名Ongoing replication)或者配置为CDC Only后,在传输过程中,可能因为网络等原因中断,包括主动断网、被动断网等。这时候需要重新启动任务继续传输。那么此时DMS能否实现“断点续传”,也就是从停止下来的地方继续开始、而不会触发全表复制?

答案是可以的,本文档模拟环境如下。

Continue reading “DMS停止服务后Resume续传的测试”

使用Aurora Babelfish的Single-DB和Multi-DB模式在T-SQL和PostgreSQL之间共享数据

本文在AWS宁夏区Aurora PostgreSQL 15.3版本上测试通过。

一、背景

1、关于Babelfish

Aurora Babelfish通过Babelfish在TCP 1433端口上提供了对T-SQL(即SQL Server)的兼容。Aurora Babelfish的底层实现是PostgreSQL,工作在TCP协议5432端口,使用PL/pgSQL。因此,可以实现数据通过某一个接口写入,然后即可被任意接口读取的场景。

本文将演示Aurora Babelfish工作在Single-DB和Multi-DB两种配置下,如何在T-SQL和PL/pgSQL之间共享数据。

Continue reading “使用Aurora Babelfish的Single-DB和Multi-DB模式在T-SQL和PostgreSQL之间共享数据”

Aurora 5.6 升级不同数据量和机型所需要时间的测试

一、背景

Aurora MySQL 5.6在2023年2月28日End of life,因此需要升级到5.7或者8.0。参考AWS这篇官方文档对5.6结束生命周期的解释

最简单的升级方式是:直接编辑数据库版本,选择新的版本,然后点击保存。此时数据库会修改版本并重启,升级期间无法接受外部访问。

为了合理申请停机窗口,本文模拟了一个有一定数据量的测试环境,评估升级所需要的时间。

Continue reading “Aurora 5.6 升级不同数据量和机型所需要时间的测试”

AWS RDS 和 Aurora PostgreSQL Benchmark 性能测试

一、背景

1、目标

在系统上线之前,对整个系统进行压力测试是必要的、周密的做法。整个系统业务处理能力(TPS)是结合了网络、应用架构、数据库等多种因素的一个衡量方式。其中,数据库性能对于整个业务系统处理能力是关键点之一。

为了充分验证数据库能力,建议在云上VPC内另外启动一台高配置的EC2作为负载发生器,并通过sysbench工具运行特定的sql脚本对数据库施压。由此可尽量隔绝应用层和网络层带来的额外影响因素。

Continue reading “AWS RDS 和 Aurora PostgreSQL Benchmark 性能测试”

为Aurora MySQL启用审计日志(Audit Log)

一、背景

在数据库RDS创建界面中,点击Addional额外设置之后可以展开日志设置,有四个选项,分别是:

Select the log types to publish to Amazon CloudWatch Logs:

  • Audit log
  • Error log
  • General log
  • Slow query log

这几个选项打开后,Cloudwatch会输出General log和Error log,可以看到失败的登录记录,但是无法看到Audit log,也就是无法看到每一条SQL查询、更新级别的日志。

这是由于,RDS日志需要额外打开选项。

Continue reading “为Aurora MySQL启用审计日志(Audit Log)”