自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

chuckchen1222的博客

不会做饭的DBA不是一只好裁缝

  • 博客(247)
  • 收藏
  • 关注

原创 通过 python 生成随机数据,并批量插入到 Amazon DocumentDB (或mongodb) 中

通过 python 生成随机数据,并批量插入到 Amazon DocumentDB (或mongodb) 中。Python 生成随机数据。 使用 random。 例如:随机整数 (0 - 999999)随机选择一个 item随机字符串生成想要的数据格式(json)链接 DocumentDB,插入批量数据把以上连起来的最终代码

2022-12-03 22:28:01 737 1

原创 AWS - RDS - 自建 AWS RDS for MySQL 的从库实例

自建 aws rds mysql 的从库实例

2022-03-15 17:16:31 1895

原创 RDS - 密码错误后锁定账户

数据库防止暴力破解密码,当密码错误超过一定次数后,对用户进行锁定。

2022-02-16 16:23:50 1311

原创 通过 Kinesis 和 Kinesis Firehose 将 CloudWatch log group 日志流 发送到 OpenSearch

通过 Kinesis 和 Kinesis Firehose 将 Cloudwatch 中的 RDS MySQL General Log 发送至 OpenSearch (ElasticSearch)

2022-02-05 01:00:00 770

原创 RDS - 通过 IAM user 认证登录 AWS RDS(PG)

-- 使用 Master user 登录数据库, 创建新用户。postgres=> create user pguser password 'password';CREATE ROLE-- 使用新创建的用户, 可以登录数据库实例# psql -U pguser -d postgres -h database-1-instance-1.xxxxxxxxxxxx.rds.cn-north-1.amazonaws.com.cnPassword for user pguser:psql (1..

2021-08-23 17:54:27 715

原创 AWS- Redshift - 延迟维护

Amazon Redshift 保留 30 分钟的每周时段,以应用升级并执行任何其他计划的维护活动,例如更换节点以避免硬件故障。您可以使用 AWS 管理控制台上的修改群集设置或使用修改群集 API,为维护时段选择日期和时间。如果计划的维护时段内没有要执行的维护任务,则集群将继续正常运行至下一个计划的维护时段。业务活动高峰期间,您可能希望将计划的维护推迟到不太繁忙的时间。通过使用“延期维护”功能,您现在可以推迟计划的维护。Amazon Redshift 会等待以下维护时段以应用软件更新。如果在集群上安排了

2020-11-23 17:29:08 297

原创 AWS - Redshift - 时区 Timezone

Redshift 中, 您不能使用集群参数组设置 timezone 配置参数。使用 SET 命令只能为当前会话设置时区。要为某个特定数据库用户运行的所有会话设置时区,请使用 ALTER USER 命令。ALTER USER … SET TIMEZONE 将更改后续会话的时区,而不是更改当前会话的时区。日期时间类型(1) 当您创建表时, 若使用日期时间类型为不包含 TZ (time zone), 那么您插入数据时, 无论是否有时区, 结果都为您插入的结果,并且忽略时区。例如:-- t_nt..

2020-10-22 17:17:06 876

原创 AWS Redshift - 不同分配方式表及多表联接的执行计划

– 准备测试表及数据create table t1_even (id int, col1 varchar(100), col2 varchar(100)) diststyle key distkey (id);create table t2_even (t1_id int , col1 varchar(100), col2 varchar(100)) diststyle even;create table t3_key (t1_id int, col1 varchar(100), col2 varch

2020-09-12 15:44:49 495

原创 AWS Redshift - 查询的执行计划(1)

首先,需要了解一条查询在 Redshift 中所执行的步骤。领导节点接收查询并解析 SQL。、分析程序生成初步查询树,后者是原始查询的逻辑表示。然后,Amazon Redshift 将该查询树输入到查询优化程序中。优化器会评估,如有必要,请重新写入查询以最大程度提高效率。这个过程有时会导致创建多个相关查询来替换单个。优化程序生成查询计划(或若干以上步骤,如果上一步导致执行多个查询),则执行最佳性能。查询计划指定执行选项,例如联接类型、联合订单、聚合选项和数据分发要求。执行引擎将

2020-09-09 17:23:26 675

原创 Redshift - 如何设计表

AWS Redshift 中设计表AWS Redshift 是基于 PostgreSQL 的数据仓库。 那么如何创建一个表, 这个表的创建于普通的关系型数据库的表有什么不同呢?在创建 Redshift table 时, 可以选择排序键、分配方式和压缩编码。设计表是为了 减少 I/O 操作数和尽量减少处理查询所需的内存。Sort key:排序键将您的数据按照排序顺序存储在磁盘中。Amazon Redshift 查询优化程序在确定最佳查询计划时会使用排序顺序。如何选择排序键:根据需要频繁查询的数

2020-09-09 00:08:06 925

原创 AWS RDS - 将 RDS MySQL 实例作为 自建MySQL 实例的从库

首先需要创建源数据的副本。(1) 修改您的源端数据库配置文件 , 打开 binlog 配置。log-bin=mysql-binserver-id=1(2) 重启源端数据库(3) 使用 mysqldump 备份数据库(如果多个数据库,就写为 db1 db2 db3 )mysqldump –databases database_name –master-data=2 –single-transaction –order-by-primary -r backup.sql -u loc.

2020-09-03 22:35:48 627

原创 Amazon Redshift - 基本介绍

Amazon Redshift 数据仓库是一个企业级的关系数据库查询和管理系统。特点:支持与多种类型的应用程序建立客户端连接多阶段操作。(检索、比较、计算)MPP(大规模并行处理), 列式存储,架构:基于 PostgreSQL 8.0.2 , 通过 PostgreSQL JDBC 和 ODBC 驱动程序进行通信。以集群形式存在。群集由一个或多个组成 compute nodes 。如果群集配置了两个或以上计算节点,则需要 leader node 协调 compute 节点并处理外部通信。

2020-09-03 11:52:44 3442

转载 AWS RDS - MySQL 存储空间占用分析

前言不论是我们自建的MySQL数据库还是使用云数据库,都会遇到存储空间的相关问题,当存储满了之后,数据库可能会hang住甚至是crash。因此监控存储空间是非常有必要的。对于自建的数据库我们可以登陆到实例上进行排查,对于云数据库来说,由于用户无法接触到底层实例,因此在SQL层面进行排查是非常必要的。数据库实例上的空间用于以下方面用户创建的数据库[create database csdn]binloggeneral log & slow log & error logredo

2020-09-02 21:14:08 2079

原创 PostgreSQL- 逻辑复制 logical replication

主vim postgresql.confwal_level = logicalmax_wal_senders = 10max_replication_slots = 8CREATE USER logical_repl REPLICATION LOGIN CONNECTION LIMIT 8 ENCRYPTED PASSWORD 'logical_repl'; CREATE PUBLICATION pub1 FOR TABLE logical_tb1; SELECT * FROM pg_p

2020-08-27 19:51:45 579

原创 AWS - DMS - PG作为源端时启用CDC

执行 DMS 的 CDC ,当PostgreSQL 作为数据库的源端时,会在源端实例创建 replication slot, 这会将 DMS 复制任务当作一个 PG 的从库。避免为应用的日志被删除,所以主库实例会保存日志,直到从库获取日志。我们可以通过以下查询语句获取到该信息。当 DMS 正常启动时, 可以从 pg_stat_replication , pg_replication_slots 查询到信息。当 DMS 停止状态时, 可以从 pg_stat_replication 查询到信息。请将

2020-07-29 13:06:47 581

原创 AWS - DMS - 迁移 MySQL 时由于时区导致的数据验证错误

通过 AWS DMS 迁移 MySQL 时由于时区导致的数据验证错误, 查看DMS 执行。如何查看 AWS DMS 到底做了些什么,或者执行了哪些语句?我们可以在配置 DMS任务时,开启日志的 Debug 模式。并且将数据库的日志模式设置为最高。 比如 MySQL 中开启 general_log.如果数据库中的时区设置不为 UTC。那么当表中使用 timestamp 时, DMS 做 validation 就会有问题。这是因为 valiedation 时, 对 源库 的连接会自动使用 UTC 的

2020-07-23 17:13:04 659

原创 AWS - Redshift -跨账号导入 S3 数据

Redshift 跨账号导入 S3 数据在 S3 桶账户中,创建可读取S3的 策略。建一个关联其他账号的role,并将(1)中建的策略附给role。在redshift账号中创建策略,将以下内容输入到json选项卡{ "Version": "2012-10-17", "Statement": [ { "Sid": "CrossAccountPolicy", "Effect": "Allow",

2020-07-07 09:14:22 574

原创 MySQL - 在InnoDB 中 Troubleshooting Row size too large (」 8126)

解决报错遇到报错:ERROR 1118 (42000): Row size too large (> 8126). Changing some columns to TEXT or BLOB or using ROW_FORMAT=DYNAMIC or ROW_FORMAT=COMPRESSED may help. In current row format, BLOB prefix of 768 bytes is stored inline.ERROR 1118 (42000): Row s

2020-07-04 13:36:02 434

原创 greenplum - Add Mirror of segment

生成配置gpaddmirrors -o /usr/local/greenplum-db/gpmirrors_config查看生成配置文件vim gpmirrors_config0|chen-es02|7000|/data/greenplum/data1/mirror/gpseg01|chen-es02|7001|/data/greenplum/data1/mirror/gpseg12|chen-es02|7002|/data/greenplum/data2/mirror/gpseg23|ch

2020-06-23 23:32:29 237

原创 greenplum - 为 master 增加 standby 节点

增加 standby进standby 目录下创建目录并授权cd /data/greenplum/data1mkdir masterchown -R gpadmin:gpadmin master在master节点执行gpinitstandby -s gpstandbynode进入到standby节点中目录下查看文件夹,出现文件主节点查看 stadnby状态gpstate -f...

2020-06-23 01:28:50 304

原创 greenplum - 创建表并查看表数据分布情况

随机分布testdb=# create table test01 (id int, col1 varchar(100)) distributed RANDOMLY;CREATE TABLEtestdb=# insert into test01 values (1,'a');INSERT 0 1testdb=# insert into test01 values (1,'a');INSERT 0 1testdb=# insert into test01 values (1,'a');INSER

2020-06-22 12:50:48 2947 1

原创 greenplum - 简单常用查看gp状态命令

启动/关闭gpstartgpstop -M fastgpstop -mgpstop --host sdw1 # 只关一个节点查看状态gpstate -b # brief statusgpstate -c # show primary to mirror mappingsgpstate -e # show segments with mirror status issuesgpstate -f # show standby master detailsgpstate -i # .

2020-06-22 00:00:51 8265

原创 greenplum - 在Amazon Linux 2 (EC2)中安装 gp6.8

Pre-安装安装依赖包(ALL Node)# requires the following software packages on RHEL/CentOS 6/7yum install -y apr apr-util bash bzip2 curl krb5-devel libcurl libevent libxml2 libyaml zlib openldap openssh openssl openssl-libs perl readline rsync R sed tar zip ntpam

2020-06-21 23:26:23 219

原创 AWS - Redshift - Unload 数据到S3产生的文件名

当 Redshift Unload 数据时,文件名称会根据表的分配方式及数据分布有关。实验一: 表分配方式为 ALL,数据存在在多个节点,无法预计从哪个节点导出数据。默认情况下,表数据量小时,按ALL分配,变大之后改为EVEN-- Create Tabletestdb=# create table test_unload_19_all (id int);CREATE TABLE-- Insert rowtestdb=# insert into test_unload_19_all values

2020-06-19 13:18:00 658

原创 AWS - Redshift - 数据库 schema 表 之间的关系

关于Redshift 中不同库之间的关系。以及schema 之间的关系。-- 准备工作:-- 使用master user-- 建DB, db1, db2-- 在db1中和db2中 建Schema, haha-- 建用户, u1, u2testdb=# create database db1;CREATE DATABASEtestdb=# create database db2;CREATE DATABASEtestdb=# \c db1;psql (12.2, server 8.0.

2020-06-10 21:01:59 817

原创 AWS - Redshift - 4个在单节点集群找不到的性能指标

如果是Redshift Cluster单节点, 在 CloudWatch 监控中是看不到这四个指标的。如果想要监控的话,需要增加为多节点。#监控项中,共有4项均为多节点监控值。QueriesCompletedPerSecondQueryDurationWLMQueriesCompletedPerSecondWLMQueryDuration这个在官方文档中并没有说明。是通过非官方文档找到,并自己测出来的。https://docs.amazonaws.cn/redshift/latest/mgmt

2020-06-10 14:24:52 298

原创 AWS - DMS - Redshift 作为目标端时的

当 Redshift 集群作为 DMS 中的 目标端 时, IAM Role的这一步经常会被忽略。导致在执行DMS任务时,发现 表已经被创建在目标端了,但是数据确没过去。查看日志,只有一条Warning,Table 'public'.'tablename' (subtask 1 thread 1) is suspended (replicationtask.c:2471)。再无其他信息。这时我们束手无策。返回头去查文档,发现没什么问题啊。同账号,同区域,网络都通,Role创建了,没有LOB。AWS

2020-06-06 00:45:11 533

原创 AWS - Redshift - 表和表存储的一些查询

redshift 针对 表信息,存储的查询:-- 查看表信息, diststyle, sizeselect * from pg_catalog.svv_table_info where "table" = 'tablename';-- 查询每个 slice select slice, col, num_values as rows, minvalue, maxvalue from svv_diskusagewhere name='tablename';-- 表中每一列的 1 MB 块的数目

2020-06-04 19:53:39 1452

原创 AWS - Redshift - 锁

AWS Redshift 是云中数据仓库服务。通过大规模并行处理、列式数据存储和非常高效且具有针对性的数据压缩编码方案的组合,实现高效存储和最优查询性能。AWS Redshift中有三种锁定模式:[1]AccessExclusiveLock:主要在 DDL 操作过程中获取,如 ALTER TABLE、DROP 或 TRUNCATE。AccessExclusiveLock 将阻止其他所有锁定尝试。AccessShareLock:在 UNLOAD、SELECT、UPDATE 或 DELETE 操作过程中

2020-06-04 18:17:33 534

原创 AWS - RDS - 通过只读副本将数据迁移到 Aurora PostgreSQL -只读副本

通过只读副本创建Aurora PG。这部分在控制台中是没有的(虽然文档中给了控制台的操作步骤)。只能通过 AWS CLI 创建。中国 北京区的Aurora PG ,版本只有 10.7 和 11.6,类型只支持 db.t3.medium 和 db.r5,宁夏区 版本 9.6.(8,9,11,16)/10.11/11.6,类型只支持 db.r4.在文档中,迁移方式还有针对 9.6.1 和 9.6.3 的快照进行迁移。但是目前都不行了。还可以使用 DMS 或 Amazon S3 进行迁移。===以下为

2020-06-04 18:09:11 511

原创 AWS - Redshift - Spectrum 外部数据

创建IAM Role在 Select your use case 下,选择 Redshift - Customizable,然后选择 Next: Permissions。此时显示 Attach permissions policy 页面。选择 AmazonS3ReadOnlyAccess 和 AWSGlueConsoleFullAccess(如果使用的是 AWS Glue 数据目录)。或选择 AmazonAthenaFullAccess(如果使用的是 Athena Data Catalog)。选..

2020-06-04 16:32:41 386

原创 AWS - DMS - Full Load 的 3 种 ”目标表准备模式“

AWS DMS 中 Full Load 的3 种 ”目标表准备模式“ 。不执行任何操作:目标表中存在数据不会被更改,只会插入不一样的数据。删除目标中的表:表会被删除,重建。截断:表不会被删除。数据会被truncate。原表结构及数据:mysql> desc test_dms_1 -> ;+-------+-----------+------+-----+-------------------+-----------------------------+| Field | T

2020-05-28 21:07:09 478

原创 AWS - redshift 中的锁

AWS Redshift 是云中数据仓库服务。通过大规模并行处理、列式数据存储和非常高效且具有针对性的数据压缩编码方案的组合,实现高效存储和最优查询性能。AWS Redshift中有三种锁定模式:[1]AccessExclusiveLock:主要在 DDL 操作过程中获取,如 ALTER TABLE、DROP 或 TRUNCATE。AccessExclusiveLock 将阻止其他所有锁定尝试。AccessShareLock:在 UNLOAD、SELECT、UPDATE 或 DELETE 操作过程中获

2020-05-28 20:36:07 882

原创 RDS - 获取RDS增强监测数据

Amazon RDS 为数据库实例运行的操作系统 (OS) 实时提供指标。您可以使用控制台查看数据库实例指标,或者在您选择的监控系统中使用 Amazon CloudWatch Logs 的增强监测 JSON 输出。增强监测指标,是以Logs的形式,存储在CloudWatch Logs中。格式为JSON。其路径为ClouWatch Logs -> RDSOSMetrics -> 当我们想要将日志导出的话。可以导出至Amazon S3如果我们希望可以流式传输,可以采用两种方式:传输到

2020-05-11 14:26:22 575

原创 AWS - RDS MySQL - RDS的本地从库与本地的RDS从库

如果在RDS中,可以为一个RDS MySQL创建 只读库 或创建 Aurora只读库。如果我想在EC2或是本地机房为RDS创建只读库,或是在RDS中创建本地机房或 EC2 的只读库呢?无论是在本地机房做RDS MySQL的只读,或是在RDS做本地的只读,都要借助同VPC中的EC2。所以实验就直接做 EC2 到 RDS MySQL的主备。EC2 主,RDS 备。主要应用于向RDS上进行...

2020-04-21 18:35:33 1192 2

原创 PostgreSQL - Multicolumn Indexes 组合索引 - 使用优化

之前写过一篇关于,在PG中如何使用组合索引的文章https://blog.csdn.net/chuckchen1222/article/details/90514332今天是要记录关于查询第二列的使用。建里组合索引,一个是为了性能,当使用同样的条件进行查询的时候,可以直接用到组合索引,第二也是为了避免过多索引带给数据库性能的损耗。如果一个SQL,直接去使用后边的列,是不会走到索引的,那是为...

2020-04-12 01:49:06 1128

原创 AWS -DMS -实例内存降低

要执行数据库迁移,AWS DMS 将连接到源数据存储,读取源数据并设置数据格式以供目标数据存储使用。然后,它会将数据加载到目标数据存储中。此处理大部分在内存中进行,不过大型事务可能需要部分缓冲到磁盘。缓存事务和日志文件也会写入磁盘。在完全加载迁移过程中,源中的现有数据将移动到目标数据库,AWS DMS 会将源数据存储上的表中的数据加载到目标数据存储上的表。在完全加载进行期间,对所加载表进行的更改...

2020-04-03 14:25:07 419

原创 AWS - RDS - MySQL 5.5 升级至Aurora MySQL5.6最短停机时间

如何将AWS RDS 中的MySQL无缝升级切换至Aurora 5.6?停机时间有多久?会不会因为数据量的增加而导致停机时间的增加?下面参考这个方式,大大缩短了停机时间,而且无关数据量的大小。创建只读副本,并对只读副本进行升级。此步骤无停机时间。[1]1) 先创建一个只读副本,这个副本用作升级。这个过程是不会对源数据库实例造成影响。2) 带只读副本创建好之后,对该只读副本进行升级。...

2020-03-21 00:00:24 619

原创 MySQL - Error - Lost connection to MySQL server

出现报错 "Lost connection to MySQL server"时,可能是什么原因:官网[1]做出如下解释:There are three likely causes for this error message.Usually it indicates network connectivity trouble and you should check the condition...

2020-03-18 22:32:29 603

原创 AWS - RDS Aurora Serverless - 暂停与恢复时间

在AWS RDS Aurora 的 Serverless (目前中国区只支持MySQL 5.6)中,有一个选项为连续数分钟不活动后暂停计算容量(Pause compute capacity after consecutive minutes of inactivity)由于计算容量已暂停,您只需为数据库存储付费(You are only charged for database storage...

2020-03-11 21:30:57 586

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除