Amazon RDS - MySQL DBA 任务
与其他所有数据库一样,Amazon RDS MYSQL 也需要 DBA 任务来微调数据库并进行定期健康检查等。但由于 AWS 平台不允许 shell 访问数据库,因此与本地安装的 MySQL 相比,可以执行的 DBA 任务数量有限。以下是可以在 AWS RDS MySQL 数据库中执行的常见 DBA 任务列表及其说明。
访问错误日志
可以使用 Amazon RDS 控制台或使用 Amazon RDS CLI 检索日志来查看 MySQL 错误日志 (mysql-error.log) 文件。mysql-error.log 每 5 分钟刷新一次,其内容附加到 mysql-error-running.log。然后,mysql-error-running.log 文件每小时轮换一次,并保留过去 24 小时内每小时生成的文件。
使用 RDS 控制台
下面是上述两个日志文件的链接。
使用 CLI
使用 CLI,日志文件将作为 JSON 对象发布到 CloudWatch Logs。
aws rds modify-db-instance \ --db-instance-identifier mydbinstance \ --cloudwatch-logs-export-configuration '{"EnableLogTypes":["audit","error","general","slowquery"]}' \ --apply-immediately
终止长时间运行的会话或查询
有时,DBA 需要终止长时间运行的会话或查询,因为这些会话或查询无法快速提供结果。此 DBA 任务通过首先查找查询的进程 ID,然后使用 RDS 函数终止查询来完成。以下命令是示例。
# 获取 ID 从 INFORMATION_SCHEMA.PROCESSLIST 中选择 * # 应用终止函数 CALL mysql.rds_kill(processID);
缩短崩溃恢复时间
我们可以通过设置名为 innodb_file_per_table 的 DB 参数来缩短崩溃后的恢复时间。我们可以在 RDS 控制台中找到此参数,如下所示。
接下来,我们可以搜索参数名称,如下所示。
Amazon RDS 将 innodb_file_per_table 参数的默认值设置为 1,这允许您删除单个 InnoDB 表并回收这些表用于数据库实例的存储。这加快了从崩溃中恢复的时间。
停止并重新启动数据库
可以通过 RDS 控制台轻松停止数据库、重新启动数据库或创建快照等,如下图所示。