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 控制台

下面提供了上面描述的两个日志文件的链接。

 mysql_rds_log1.JPG

使用 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 函数终止查询来完成的。以下命令是示例。

# get the ID
Select * from INFORMATION_SCHEMA.PROCESSLIST
#Apply the Kill Function
CALL mysql.rds_kill(processID);

改进崩溃恢复时间

我们可以通过设置名为 innodb_file_per_table 的数据库参数来改善崩溃后的恢复时间。我们可以在 RDS 控制台中找到此参数,如下所示。

 mysql_DBA_parameters.JPG

接下来,我们可以搜索参数名称,如下所示。

mysql_innodb_file_param.JPG

Amazon RDS 将 innodb_file_per_table 参数的默认值设置为 1,这允许您删除单个 InnoDB 表并回收数据库实例使用的这些表占用的存储空间。这加快了崩溃后的恢复时间。

停止和重启数据库

停止数据库、重新启动数据库或创建快照等操作可以通过 RDS 控制台轻松完成,如下面的图表所示。

mysql_db_stop_reboot.JPG
广告

© . All rights reserved.