专注于数据库领域技术
暂时未有相关通用技术能力~
阿里云技能认证
详细说明2021年03月
2020年03月
如果是 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 洞察不是通过 网络抓包获取的。