专注于数据库领域技术
暂时未有相关通用技术能力~
阿里云技能认证
详细说明RDS for MySQL CPU 性能问题分析 RDS for MySQL CPU 使用率高是使用 RDS for MySQL 实例过程中比较常见的一类性能问题。 由于实例 CPU 资源打满会直接导致业务受损,且问题发生过程迅速、临界时间短 统计采集困难、问题发生后统计指标呈反向曲线,加之日常运维过程中问题征兆容易被忽视,非常容易导致用户体感问题突然性强烈,因此在这里我们对 RDS for MySQL 的 CPU 使用率高的原因做一个比较详细的分析说明。
RDS for MySQL 5.7 备份恢复为本地实例详细步骤
RDS 实例更换 VPC 网络和交换机工具
RDS for MySQL 大表操作
一个相同查询在不同 RDS for MySQL 实例上性能差异的案例分析 1. 问题出现 2. 问题原因 3. 问题解决 4. 问题结论 相同查询在数据量相近的情况下在不同 RDS for MySQL 实例上有不同的性能表现,容易引发用户对 RDS for MySQL 实例的性能差异性的疑虑,本文分享下近期碰到的一个原因比较隐蔽但很常见的案例。
RDS for MySQL CPU 性能问题浅析
RDS for MySQL 表上 Metadata lock 的产生和处理 1. Metadata lock wait 出现的场景 2. Metadata lock wait 的含义 3. 导致 Metadata lock wait 等待的活动事务 4. 解决方案 5. 如何避免出现长时间 Metadata lock wait 导致表上相关查询阻塞,影响业务 1.
RDS for MySQL 空间问题的原因和解决 1. 原因 2. 解决 2.1 Binlog 文件 2.2 数据文件 2.3 临时文件 2.4 系统文件 RDS for MySQL 实例日常使用中随着实例的使用,会出现空间使用告警甚至超过实例限额被锁定的情况。 比如: 1. 原因 Binlog 日志文件占用高
RDS for MySQL 字符序引发的 CPU 性能问题
RDS for MySQL 使用 utf8mb4 字符集存储 emoji 表情
RDS for MySQL查询缓存 (Query Cache) 的设置和使用
RDS for MySQL 通过分区归档历史数据 原始表 分区 用于分区维护的存储过程 每月调用存储过程的事件 随着数据的积累,数据量的增加,越来越多的表体积变的庞大,不但影响查询的执行时间,而且使得管理工作(比如添加删除索引)变的越发复杂和困难。本文介绍一个通过分区滑动来归档历史
RDS for MySQL权限问题(错误代码:1227,1725) 1. 错误信息 2. 错误出现的场景 3. 错误原因 4. 解决 4.1 去除 DEFINER 子句 4.2 去除 GTID_PURGED 子句 4.
RDS for MySQL InnoDB 行锁等待和锁等待超时的处理 1. Innodb 引擎表行锁等待和等待超时发生的场景 2.Innodb 引擎行锁等待情况的处理 2.1 Innodb 行锁等待超时参数 innodb_lock_wait_timeout 2.2 大量
RDS for MySQL Mysqldump 常见问题和处理 GTID 特性相关 避免表级锁等待 设置导出字符集 其他导出时需要注意的选项 举例 RDS for MySQL 不支持的选项 RDS for MySQL 逻辑备份 1. GTID 特性相关 MySQL 5.6 引入了 GTID 特性,因此随 5.6 版本分发的 mysqldump 工具增加了 --set-gtid-purged 选项。
RDS for MySQL 空间问题的原因和解决 1. 原因 2. 解决 2.1 Binlog 文件 2.2 数据文件 2.3 临时文件 2.4 系统文件 RDS for MySQL 实例日常使用中随着实例的使用,会出现空间使用告警甚至超过实例限额被锁定的情况。
RDS for MySQL 表上 Metadata lock 的产生和处理 1. Metadata lock wait 出现的场景 2. Metadata lock wait 的含义 3. 导致 Metadata lock wait 等待的活动事务 4. 解决方案
RDS for MySQL InnoDB 表级锁等待 1. 显式 lock table 2. 隐式 lock table 在 RDS MySQL 实例日常使用中,有些情况下会发现出现 InnoDB 表级锁等待的情况,下面列出常见的2个原因。
RDS for MySQL 全文检索相关问题的处理 RDS MySQL 全文检索相关问题 1. RDS for MySQL 对全文检索的支持 2. RDS for MySQL 全文检索相关参数 3.
RDS for MySQL 错误 the table '/home/mysql/xxxx/xxxx/#tab_name' is full 的原因和处理 1. 出现这个错误信息的原因 2.
RDS for MySQL Online DDL 使用 Online DDL 的限制 Online DDL 建议的选项 异常处理 RDS for MySQL 5.6 支持 Online DDL 特性。
如果是 MySQL 的 InnoDB 引擎表,获取表内全体行数建议 count(*) ,这样优化器一般(如果统计信息正确)会选择表上满足查询条件的最小的一个索引来扫描
满足业务要求即可,不推荐追求极致(适用范围太窄或者投入产出不成比例)。
主要考虑降低逻辑读的数量,尽量提升 结果集/扫描行 比率。
看错误是要在 admin 库中 sessions 表上要创建索引?一般应该没有这个权限的。
建议看一下应用使用的 用户 和 登录库。
1、检查下密码。
2、将 localhost 换为 127.0.0.1 测试下。
推荐考虑采用 RDS for MySQL,节省时间并且包括常用的运维服务(比如备份、监控告警)。
如果是对外提供服务,真要自建的话需要对 Linux 和 MySQL 都有些了解才能比较好的使用和维护。
MySQL 是 RDBMS,关系模型下的 SQL 接口模式 数据库。
OTS 是 API 接口模式类似 KV 类型的 存储服务。
https://help.aliyun.com/document_detail/130418.htm
1、需要熟悉 OTS 的 API 行为模式,尤其是范围获取数据的几个接口。
2、了解 OTS 的适用场景。https://help.aliyun.com/document_detail/130418.htm
1、生态类型,比如是 MySQL 还是 PostgreSQL,是 Redis 还是 MongoDB。
2、地域、网络配置,可用区,建议和 ECS 放到同地域同可用区。
3、架构;生产环境一般选 主备集群或者多节点,测试、开发选单点也可以(不要求可用性情况下)
如果是 RDS for MySQL,索引是创建在表上的。
可以考虑通过 DMS 来管理索引
如果必须使用命令或者其他工具,建议参考下 https://developer.aliyun.com/article/622975
RDS for MySQL 可以通过 create table 语句或者 DMS 登陆实例图形化创建表(也支持其他 MySQL 客户端工具,比如 workbench, Navicat 等)
https://dev.mysql.com/doc/refman/8.0/en/create-table.html
如果是 RDS for MySQL
需要启用高权限账号模式来做表级权限管理。
参考:
https://dev.mysql.com/doc/refman/8.0/en/grant.html#grant-table-privileges
建议查一下是否 Redis 实例开启了免密功能。
另外建议先用 telnet 或者 redis-cli 测试下是否可以正常登陆。
https://help.aliyun.com/document_detail/43849.html
白名单完全放开后考虑本地抓包看看具体网络通信过程。
Windows 平台可以装微软自己的抓包工具或者 wireshark。
Linux/Mac 可以用 tcpdump 命令。
抓的包可以 Wireshark 来看。
1、如果使用 InnoDB 引擎,建议查看下 InnoDB buffer pool 的设置尺寸 和 ESSD 的 IO使用情况(包括带宽和 IOPS)。
2、建议查一下是否从 公网连接访问的。
3、建议查一下客户端资源使用情况,客户端资源紧张一样会有这种情况出现。
4、推荐考虑用 RDS,节省大量时间,自带基本上需要的日常运维(备份、监控)。
其实是有大量的案例的,包括停服和不停服(取决业务和源 Redis 类型)
建议首先了解下迁移方案 https://help.aliyun.com/document_detail/97027.html
建议考虑下 DTS 的 订阅功能,或者 DTS 同步功能。
建议考虑下 1、自建 MySQL Crash 后数据丢失、业务不可用的损失。 2、搭建集群保证高可用的成本(至少 2 台 ECS,HA 切换如何保证快速自动并不丢失数据?) 3、自行维护的成本(包括时间、精力、风险、Money)。 4、请专人维护的成本和风险。
默认应该是支持的。
RDS 的 URL 地址仅支持修改 第一个字段,后面的域名是不支持修改的。
SQL 洞察不是通过 网络抓包获取的。