你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
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 列出和下载 Azure Database for MySQL 灵活服务器日志一文来启用。
启用该功能后,MySQL 灵活服务器将开始在活动发生时捕获事件,并将它们写入一系列保存的文件。
若要启用错误日志,请执行以下步骤。
在 Azure 门户中,导航到你的灵活服务器,然后在“监视”下选择“服务器日志”。
在“服务器日志”下,选中“启用”复选框,这会启用服务器日志功能
在“选择要启用的日志”下,选中“错误日志”复选框。
选择“保存”以继续部署。
还可以通过服务器参数窗格或使用 Azure CLI 在 Azure Database for MySQL 灵活服务器中配置服务器参数启用名为“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 灵活服务器的安全性,请禁用公共访问或使用防火墙规则限制访问。