利用Azure资源管理器与PowerShell来部署使用MySQL Database on Azure

Azure 资源管理器 (ARM) 是适用于 Azure 服务的全新管理框架。现在可以使用基于 Azure 资源管理器的 API 和工具来管理 MySQL Database on Azure。MySQL Database on Azure支持您通过PowerShell脚本查询创建管理删除MySQL服务器、数据库、防火墙原则、用户等,同时支持您通过脚本更改参数设置。本文主要介绍如何使用PowerShell脚本快速搭建使用MySQL服务。对于更多创建、查看、删除、更改的操作,您可以查看使用PowerShell管理MySQL Database on Azure

目录

步骤1: 安装Azure PowerShell

运行脚本前,您需要安装并运行Azure PowerShell。您可以通过运行Microsft Web平台安装程序下载并安装最新版本Azure PowerShell 。可参阅如何安装和配置Azure PowerShell来了解更多详细步骤。 用于创建和管理MySQL Database on Azure 数据库的cmdlet位于Azure资源管理器模块中。启动Azure PowerShell时,默认情况下将导入Azure模块中的cmdlet。 请先确认Azure PowerShell版本, 可在控制台运行以下命令:

(Get-Module Azure).Version 

Azure PowerShell 0.9* 版本:

切换到Azure资源管理器模块,请使用以下命令转换:

Switch-AzureMode -Name AzureResourceManager

Azure PowerShell 1.0.0+版本:

此版本最大的改变在于将原来的Switch-AzureMode的指令移除。有关详细信息,请参阅Azure PowerShell 1.0.0以上版本在中国Azure使用的注意事项

步骤2: 配置账户信息

在针对Azure订阅运行PowerShell之前,必须先将Azure账户绑定。运行以下命令,在登陆页面输入与Azure管理门户相同的电子邮件和密码,进行身份验证。

Azure PowerShell 0.9* 版本:

Add-AzureAccount -Environment AzureChinaCloud 

Azure PowerShell 1.0.0+版本:

Login-AzureRmAccount -EnvironmentName AzureChinaCloud

若您有多个SubID需要选择,可通过运行 Select-AzureSubscription命令进行选择。

步骤3: 订阅MySQL Database on Azure服务

运行以下命令订阅MySQL服务。

Azure PowerShell 0.9* 版本:

Register-AzureProvider -ProviderNamespace "Microsoft.MySql"

Azure PowerShell 1.0.0+版本:

Register-AzureRmResourceProvider -ProviderNamespace "Microsoft.MySql"

步骤4: 创建资源组

如果您已有资源组,可以直接创建服务器,或者编辑运行以下命令,创建新的资源组:

Azure PowerShell 0.9* 版本:

New-AzureResourceGroup -Name "resourcegroupChinaEast" -Location "chinaeast"

Azure PowerShell 1.0.0+版本:

New-AzureRmResourceGroup -Name "resourcegroupChinaEast" -Location "chinaeast"

Note

** 注意:Location的默认选项为chinanorth, 处于性能以及安全性考虑,强烈建议您将资源组中的服务选择在同一个地域中。**

步骤5: 创建服务器

编辑运行以下命令,定义您的服务器名称、位置、版本等信息来完成服务器创建。

Azure PowerShell 0.9* 版本:

New-AzureResource -ResourceType "Microsoft.MySql/servers" -ResourceName testPSH -ApiVersion 2015-09-01 -ResourceGroupName resourcegroupChinaEast -Location chinaeast -PropertyObject @{version = '5.5'} 

Azure PowerShell 1.0.0+版本:

New-AzureRmResource -ResourceType "Microsoft.MySql/servers" -ResourceName testPSH -ApiVersion 2015-09-01 -ResourceGroupName resourcegroupChinaEast -Location chinaeast -SkuObject @{name='MS4'} -PropertyObject @{version = '5.5'} 

Note

** 注意:“-ApiVersion 2015-09-01”指定了API的版本,是必要的。另外,运行上述命令可以完成MySQL服务器的创建,但没有用户,须在后续步骤中创建用户设置权限,这一点和使用Azure管理门户创建稍有不同**

步骤6: 创建服务器防火墙原则

编辑运行以下命令,定义您的防火墙原则名称、IP白名单范围(起始IP地址,终止IP地址)等信息来完成防火墙原则的创建。

Azure PowerShell 0.9* 版本:

New-AzureResource -ResourceType "Microsoft.MySql/servers/firewallRules" -ResourceName testPSH/rule1 -ApiVersion 2015-09-01 -PropertyObject @{startIpAddress="0.0.0.0"; endIpAddress="255.255.255.255"} -ResourceGroupName resourcegroupChinaEast

Azure PowerShell 1.0.0+版本:

New-AzureRmResource -ResourceType "Microsoft.MySql/servers/firewallRules" -ResourceName testPSH/rule1 -ApiVersion 2015-09-01 -PropertyObject @{startIpAddress="0.0.0.0"; endIpAddress="255.255.255.255"} -ResourceGroupName resourcegroupChinaEast

步骤7: 创建数据库

编辑运行以下命令,定义您的数据库名称、字符集等信息完成数据库创建。

Azure PowerShell 0.9* 版本:

New-AzureResource -ResourceType "Microsoft.MySql/servers/databases" -ResourceName testPSH/demodb -ApiVersion 2015-09-01 -ResourceGroupName resourcegroupChinaEast -PropertyObject @{collation='utf8_general_ci'; charset='utf8'}

Azure PowerShell 1.0.0+版本:

New-AzureRmResource -ResourceType "Microsoft.MySql/servers/databases" -ResourceName testPSH/demodb -ApiVersion 2015-09-01 -ResourceGroupName resourcegroupChinaEast -PropertyObject @{collation='utf8_general_ci'; charset='utf8'}

步骤8: 创建用户

编辑运行以下命令,定义您的用户名、密码等信息完成数据库创建。

Azure PowerShell 0.9* 版本:

New-AzureResource -ResourceType "Microsoft.MySql/servers/users" -ResourceName testPSH/admin -ApiVersion 2015-09-01 -ResourceGroupName resourcegroupChinaEast -PropertyObject @{password='abc123'}

Azure PowerShell 1.0.0+版本:

New-AzureRmResource -ResourceType "Microsoft.MySql/servers/users" -ResourceName testPSH/admin -ApiVersion 2015-09-01 -ResourceGroupName resourcegroupChinaEast -PropertyObject @{password='abc123'}

步骤9: 添加用户权限

编辑运行以下命令,设置数据库读写权限给用户。权限分为"Read"以及"ReadWrite"。

Azure PowerShell 0.9* 版本:

New-AzureResource -ResourceType "Microsoft.MySql/servers/databases/privileges" -ResourceName testPSH/demodb/admin -ApiVersion 2015-09-01 -ResourceGroupName resourcegroupChinaEast -PropertyObject @{level='ReadWrite'}

Azure PowerShell 1.0.0+版本:

New-AzureRmResource -ResourceType "Microsoft.MySql/servers/databases/privileges" -ResourceName testPSH/demodb/admin -ApiVersion 2015-09-01 -ResourceGroupName resourcegroupChinaEast -PropertyObject @{level='ReadWrite'}

通过上述操作,您已经完成了服务器、数据库、用户、防火墙原则等的创建工作,可以开始使用MySQL Database on Azure的数据库服务。在使用过程中,如需更多创建、查看、删除、更改的操作,您可以查看使用PowerShell管理MySQL Database on Azure