Amazon RDS – MySQL DBA 任务
Amazon RDS – MySQL DBA 任务
与其他所有数据库一样,Amazon RDS MYSQL 也需要 DBA 任务来微调数据库并进行定期健康检查等。但由于 AWS 平台不允许 shell 访问数据库,因此可以执行的 DBA 任务数量有限与 MySQL 的本地安装相比执行。以下是可在 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 将日志文件作为 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 函数终止查询来完成的。以下命令是示例。
# get the ID Select * from INFORMATION_SCHEMA.PROCESSLIST #Apply the Kill Function CALL mysql.rds_kill(processID);
改善崩溃恢复时间
我们可以通过设置一个名为 innodb_file_per_table 的 DB 参数来缩短崩溃的恢复时间。我们可以在 RDS 控制台中找到该参数,如下所示。
接下来我们可以搜索参数名称,如下所示。
Amazon RDS 将 innodb_file_per_table 参数的默认值设置为 1,这允许您删除单个 InnoDB 表并为数据库实例回收这些表使用的存储。这加快了崩溃后的恢复时间。
停止并重启数据库
如下图所示,可以通过 RDS 控制台轻松完成停止数据库、重新启动它或创建快照等。