使用 PowerShell 命令下载慢查询日志
PowerShell 下载完整慢查询日志的方法,以下是详细步骤:
登录 Azure:
Add-AzureRmAccount -EnvironmentName AzureChinaCloud
输入您的口令,登录成功后,显示如下:
修改并运行如下命令显示实例下所有的的慢查询日志:
Get-AzureRmResource -ResourceType "Microsoft.MySql/servers/slowlogs" -Name mysqlcancy -ApiVersion 2015-09-01 -ResourceGroupName rgcnc
备注
其中,Name 为您 MySQL 实例名,ResourceGroupName 为资源组名称,可在 Azure 门户查看:
脚本运行成功后,显示如下:
修改并执行如下脚本获取容器相关信息:
$account = Get-AzureRMStorageAccount -ResourceGroupName rgcnc -StorageAccountName storagecncy 注:ResourceGroupName 为存储帐户所在资源组名称,StorageAccountName 为存储帐户名称 //若创建新容器执行此命令 $container = New-AzureStorageContainer -Context $account.Context -Name newcontainer 注:Name 这您要创建的新的容器名 //若使用原有容器,执行 Get 命令, 本 demo 中执行此命令 $container = Get-AzureStorageContainer -Context $account.Context -Name blobslowquery 注:Name 为您存储帐户中已有的容器名 $sasToken = New-AzureStorageContainerSASToken -Name $container.Name -Permission rwdl -StartTime (Get-Date).AddDays(-1) -Protocol HttpsOnly -ExpiryTime (Get-Date).AddDays(1) -Context $account.Context
修改并运行如下命令下载特定的慢查询日志到容器中:
Set-AzureRmResource -ResourceType "Microsoft.MySql/servers/slowlogs" -ResourceName mysqlcancy/mysql-slow.log.20170421 -ApiVersion 2015-09-01 -ResourceGroupName rgcnc -PropertyObject @{copyDestinationContainerUri=$container.CloudBlobContainer.Uri.AbsoluteUri;CopyDestinationSasToken="$sasToken"} -UsePatchSemantics
备注
ResourceName 为步骤 2 中执行命令后结果中显示的 ResourceName。
执行命令后弹出提示框,点击 Yes:
执行成功,powershell 显示如下:
验证:使用 Azure storage Explorer 登录 storage account 后,发现日志已保存到了容器中,如下所示: