Azure Database for MySQL - 灵活服务器中的错误日志(预览版)
适用于: Azure Database for MySQL - 灵活服务器
在 Azure Database for MySQL - 灵活服务器中,用户可配置和访问错误日志。 MySQL 中的错误日志会在服务器启动和关闭期间、服务器运行时收集诊断消息,该信息有助于主动进行故障排除。 有关 MySQL 错误日志的详细信息,请参阅 MySQL 文档中的错误日志部分。 在预览阶段,错误日志仅在服务器日志下可用,错误日志无法发送到 Azure 诊断日志。
在 Azure Database for MySQL - 灵活服务器中,在 Azure 门户的“服务器日志”下启用错误日志后,会记录使用语法 mysql-error-servername-timestamp.log 命名的多个文件中的详细信息。 在文件名中,会追加与文件生成时关联的时间戳 (GMT/UTC),用于标识记录日志条目的具体时间。 有关详细信息,请参阅服务器日志保留。
启用错误日志(预览版)
用户可以通过服务器日志功能访问和配置 Azure Database for MySQL - 灵活服务器中的错误日志,可以使用 Azure 门户或 Azure CLI 启用它。 启用该功能后,MySQL 灵活服务器将开始在活动发生时捕获事件,并将它们写入一系列保存的文件。
若要启用错误日志,请执行以下步骤。
在 Azure 门户中,导航到你的灵活服务器,然后在“监视”下选择“服务器日志”。
在“服务器日志”下,选中“启用”复选框,这会启用服务器日志功能
在“选择要启用的日志”下,选中“错误日志”复选框。
选择“保存”以继续部署。
还可以通过服务器参数窗格或 Azure CLI 启用名为“error_server_log_file”的服务器参数,从而在 Azure Database for MySQL 灵活服务器上启用错误日志。
通过选中“服务器日志”窗格中的“启用”复选框,确保激活服务器日志功能。 或者,将服务器参数“log_output”设置为 FILE 以启用服务器日志。 如果无法执行上述任一操作,则会导致 Azure Database for MySQL 灵活服务器不会启用 FILE 日志记录。
访问错误日志
可以下载错误日志,以便进一步分析你的 Azure Database for MySQL 灵活服务器。 若要下载日志,请在 Azure 门户中导航到“服务器日志”部分,然后选择“错误日志”选项卡,如下所示。
在“名称”下,选择要下载的日志文件,然后在“操作”下,选择“下载”。
若要一次下载多个日志文件,请在“名称”下选择要下载的文件,然后选择“下载”。
使用 Azure CLI 访问错误日志
可以使用以下命令列出灵活服务器中的服务器日志。
az mysql flexible-server server-logs list --resource-group <myresourcegroup> --server-name <server_name> --out table
若要将提到的服务器日志下载到当前目录,请使用以下命令:
az mysql flexible-server server-logs download --resource-group <myresourcegroup> --server-name <server_name> --name <mysql-error-<server_name>-<timestamp>.log>
有关详细信息,请参阅如何通过 Azure 门户下载服务器日志文件,或通过 Azure CLI 下载。
服务器日志保留下的错误日志
为 Azure Database for MySQL 灵活服务器启用日志记录时,日志的最长可用期为自创建时间起的七天内。 如果可用日志的总大小超过了 7 GB,则会删除最旧的文件,直到有空间可用。 服务器日志的 7-GB 存储空间限制是免费提供的,无法扩展。 日志每 24 小时或每 500 MB 轮换一次,以先达到的条件为准。 重要的是,可以在轮换之前下载日志,确保在保留期内的任何时间点都有权访问有价值的服务器日志。 有关各种日志类型的日志轮换日程安排和存储限制的详细信息,请参阅有关服务器日志保留的文档。
处理个人身份信息 (PII) 和敏感数据
在 Azure MySQL 灵活服务器中,我们优先考虑数据的安全性。 因此,由于安全原因,错误日志中的任何个人身份信息 (PII) 或敏感数据(例如主机名、IP 地址、用户名和数据库名称)都会进行哈希处理。 这意味着,虽然可以从错误日志中深入了解服务器的运行状态和潜在问题,但无法直接访问可能损害服务器安全性的特定详细信息。 但是,如果需要有关错误(例如,通常会打印用户名的“访问被拒绝”错误)的更多详细信息,可以在 Azure MySQL 灵活服务器的审核日志中找到此信息。 审核日志提供了服务器上活动和事务的更精细视图,可支持你更有效地排查和解决问题。
有关如何访问和解释审核日志的详细信息,请参阅官方文档。
常见问题解答
问:我的错误日志包含如下所示的备注,这意味着什么?
[Note] [Server] Access denied for user ''@'xx.xx.xx.X' (using password: NO).
答:此备注表明,由于身份验证详细信息不正确或缺失,连接到你的 MySQL 服务器的尝试失败。 具体而言,提供的用户名为空 (''@'xx.xx.xx.X'),未输入密码(使用密码:否)。 此备注可能表明存在未经授权的访问数据库的尝试。 如果你的服务器可公开访问,则它将保持向 Internet 公开,并且可能是未经授权的访问尝试的目标。 若要增强 Azure Database for MySQL 灵活服务器的安全性,请禁用公共访问或使用防火墙规则限制访问。