Utilizzare i database MySQL in Microsoft Azure StackUse MySQL databases on Microsoft Azure Stack

Si applica a: Azure Stack integrate di sistemi Azure Stack Development KitApplies to: Azure Stack integrated systems and Azure Stack Development Kit

È possibile distribuire un provider di risorse MySQL nello Stack di Azure.You can deploy a MySQL resource provider on Azure Stack. Dopo aver distribuito il provider di risorse, è possibile creare MySQL Server e database tramite i modelli di distribuzione di gestione risorse di Azure e fornire i database MySQL come servizio.After you deploy the resource provider, you can create MySQL servers and databases through Azure Resource Manager deployment templates and provide MySQL databases as a service. Database MySQL, che sono comuni nei siti web, supportano molte piattaforme di sito Web.MySQL databases, which are common on web sites, support many website platforms. Ad esempio, dopo aver distribuito il provider di risorse, è possibile creare siti Web WordPress dalla piattaforma Azure Web App come un componente aggiuntivo del servizio (PaaS) per lo Stack di Azure.As an example, after you deploy the resource provider, you can create WordPress websites from the Azure Web Apps platform as a service (PaaS) add-on for Azure Stack.

Per distribuire il provider di MySQL in un sistema che non dispone dell'accesso a internet, è possibile copiare il file mysql-connector-net-6.9.9.msi in una condivisione locale.To deploy the MySQL provider on a system that does not have internet access, you can copy the file mysql-connector-net-6.9.9.msi to a local share. Quindi, specificare il nome della condivisione quando richiesto.Then, provide that share name when prompted. È inoltre necessario installare i moduli di Azure e Azure PowerShell dello Stack.You must also install the Azure and Azure Stack PowerShell modules.

Architettura dell'Adapter Provider risorse di MySQL ServerMySQL Server Resource Provider Adapter architecture

Il provider di risorse è costituito da tre componenti:The resource provider is made up of three components:

  • Adattatore di provider di risorse MySQL VM, che è una macchina virtuale Windows in esecuzione i servizi di provider.The MySQL resource provider adapter VM, which is a Windows virtual machine running the provider services.
  • Il provider di risorse stesso, che elabora le richieste di provisioning ed espone le risorse di database.The resource provider itself, which processes provisioning requests and exposes database resources.
  • I server che ospitano il MySQL Server, che forniscono capacità per i database, denominato server di Hosting.Servers that host MySQL Server, which provide capacity for databases, called Hosting Servers.

Questa versione non crea un'istanza di MySQL.This release no longer creates a MySQL instance. È necessario crearli e/o fornire l'accesso a istanze di SQL esterne.You must create them and/or provide access to external SQL instances. Visitare il raccolta Guida introduttiva di Azure Stack per un modello di esempio che è possibile:Visit the Azure Stack Quickstart Gallery for an example template that can:

  • Crea un server di MySQL per l'utenteCreate a MySQL server for you
  • scaricare e distribuire un MySQL Server da Marketplace.Download and deploy a MySQL Server from the Marketplace.

Nota

Server installato in uno Stack di Azure a più nodi di hosting deve essere creato da una sottoscrizione tenant.Hosting servers installed on a multi-node Azure Stack must be created from a tenant subscription. Non possono essere creati dalla sottoscrizione di Provider predefinito.They can't be created from the Default Provider Subscription. In altre parole, deve essere creati dal portale tenant o da una sessione di PowerShell con un account di accesso appropriato.In other words, they must be created from the tenant portal or from a PowerShell session with an appropriate login. Tutti i server di hosting sono addebitabile macchine virtuali e devono disporre delle licenze appropriate.All hosting servers are chargeable VMs and must have appropriate licenses. L'amministratore del servizio può essere il proprietario della sottoscrizione in questione.The service administrator can be the owner of that subscription.

Privilegi necessariRequired privileges

L'account di sistema deve disporre dei privilegi seguenti:The system account must have the following privileges:

  1. Database: Creare, eliminareDatabase: Create, drop
  2. Account di accesso: Creazione, impostare, eliminare, concedere, revocareLogin: Create, set, drop, grant, revoke

Distribuire il provider di risorseDeploy the resource provider

  1. Se non è già stato fatto, registrare il kit di sviluppo e scaricare l'immagine di Windows Server 2016 Data Center Core scaricabile tramite la gestione del Marketplace.If you have not already done so, register your development kit and download the Windows Server 2016 Datacenter Core image downloadable through Marketplace Management. È necessario utilizzare un'immagine di Windows Server 2016 Core.You must use a Windows Server 2016 Core image. È inoltre possibile utilizzare uno script per creare un immagine di Windows Server 2016 -assicurarsi di selezionare l'opzione componenti di base.You can also use a script to create a Windows Server 2016 image - be sure to select the core option. Il runtime di .NET 3.5 non è più necessario.The .NET 3.5 runtime is no longer required.

  2. Accedere a un host che può accedere con privilegi Endpoint di macchina virtuale.Sign in to a host that can access the Privileged Endpoint VM.

    a.a. Nelle installazioni di Azure Stack Development Kit (ASDK), accedere all'host fisico.On Azure Stack Development Kit (ASDK) installations, sign in to the physical host.

    b.b. Nei sistemi a più nodi, l'host deve essere un sistema che possa accedere all'Endpoint con privilegi.On multi-node systems, the host must be a system that can access the Privileged Endpoint.

  3. Scaricare il provider di risorse MySQL binario ed eseguire il programma di autoestrazione per estrarre il contenuto in una directory temporanea.Download the MySQL resource provider binary and execute the self-extractor to extract the contents to a temporary directory.

    Nota

    La compilazione di provider di risorse corrisponde alle compilazioni dello Stack di Azure.The resource provider build corresponds to Azure Stack builds. È necessario scaricare il file binario corretto per la versione dello Stack di Azure che è in esecuzione.You must download the correct binary for the version of Azure Stack that is running.

    Compilazione di Azure StackAzure Stack Build Programma di installazione di MySQL RPMySQL RP installer
    1.0.171122.11.0.171122.1 RP MySQL versione 1.1.10.0MySQL RP version 1.1.10.0
    1.0.171028.11.0.171028.1 RP MySQL versione 1.1.8.0MySQL RP version 1.1.8.0
    1.0.170928.31.0.170928.3 RP MySQL versione 1.1.3.0MySQL RP version 1.1.3.0
  4. Il certificato radice dello Stack di Azure viene recuperato dall'Endpoint con privilegi.The Azure Stack root certificate is retrieved from the Privileged Endpoint. Per ASDK, viene creato un certificato autofirmato come parte di questo processo.For ASDK, a self-signed certificate is created as part of this process. Per più nodi, è necessario fornire un certificato appropriato.For multi-node, you must provide an appropriate certificate.

    Se è necessario fornire il proprio certificato, è necessario il certificato seguente:If you need to provide your own certificate, you need the following certificate:

    Un certificato con caratteri jolly per *.dbadapter.< area>.< fqdn esterno>.A wildcard certificate for *.dbadapter.<region>.<external fqdn>. Questo certificato deve essere considerato attendibile, ad esempio potrebbe essere emesso da un'autorità di certificazione.This certificate must be trusted, such as would be issued by a certificate authority. Vale a dire la catena di certificati deve esistere senza richiedere i certificati intermedi.That is, the chain of trust must exist without requiring intermediate certificates. Con il nome di macchina virtuale esplicito [mysqladapter] utilizzato durante l'installazione, è possibile utilizzare un certificato del singolo sito.A single site certificate can be used with the explicit VM name [mysqladapter] used during install.

  5. Aprire un nuova console di PowerShell con privilegi elevati (amministratore) e modifica della directory in cui sono stati estratti i file.Open a new elevated (administrative) PowerShell console and change to the directory where you extracted the files. Per evitare problemi che potrebbero emergere dalla corretti moduli PowerShell già caricati nel sistema, utilizzare una nuova finestra.Use a new window to avoid problems that may arise from incorrect PowerShell modules already loaded on the system.

  6. Installare Azure PowerShell versione 1.2.11.Install Azure PowerShell version 1.2.11.

  7. Eseguire lo script DeploySqlProvider.ps1.Run the DeploySqlProvider.ps1 script.

Lo script esegue le operazioni:The script performs these steps:

  • Scaricare il file binario connettore MySQL (ciò può essere fornito non in linea).Download the MySQL connector binary (this can be provided offline).
  • Caricare i certificati e altri elementi di un account di archiviazione nello Stack Azure.Upload the certificates and other artifacts to a storage account on your Azure Stack.
  • Pubblicare pacchetti di raccolta in modo che è possibile distribuire il database SQL tramite la raccolta.Publish gallery packages so that you can deploy SQL databases through the gallery.
  • Pubblicare un pacchetto di raccolta per la distribuzione di server di HostingPublish a gallery package for deploying Hosting Servers
  • Distribuire una macchina virtuale utilizzando l'immagine di Windows Server 2016 creato nel passaggio 1 e installare il provider di risorse.Deploy a VM using the Windows Server 2016 image created in step 1 and install the resource provider.
  • Registrare un record DNS locale che esegue il mapping al provider di risorse macchina virtuale.Register a local DNS record that maps to your resource provider VM.
  • Registrare il provider di risorse con locale Gestione risorse di Azure (Admin e Tenant).Register your resource provider with the local Azure Resource Manager (Tenant and Admin).

È possibile:You can:

  • specificare almeno i parametri obbligatori nella riga di comandoSpecify at least the required parameters on the command line
  • In alternativa, se si esegue senza parametri, immetterli quando richiesto.Or, if you run without any parameters, enter them when prompted.

Di seguito è riportato un esempio è possibile eseguire da PowerShell richiesto (ma modificare le informazioni sull'account e password in base alle esigenze):Here's an example you can run from the PowerShell prompt (but change the account information and passwords as needed):

# Install the AzureRM.Bootstrapper module, set the profile, and install AzureRM and AzureStack modules
Install-Module -Name AzureRm.BootStrapper -Force
Use-AzureRmProfile -Profile 2017-03-09-profile
Install-Module -Name AzureStack -RequiredVersion 1.2.11 -Force

# Use the NetBIOS name for the Azure Stack domain. On ASDK, the default is AzureStack and the default prefix is AzS
# For integrated systems, the domain and the prefix will be the same.
$domain = "AzureStack"
$prefix = "AzS"
$privilegedEndpoint = "$prefix-ERCS01"

# Point to the directory where the RP installation files were extracted
$tempDir = 'C:\TEMP\MYSQLRP'

# The service admin account (can be AAD or ADFS)
$serviceAdmin = "admin@mydomain.onmicrosoft.com"
$AdminPass = ConvertTo-SecureString "P@ssw0rd1" -AsPlainText -Force
$AdminCreds = New-Object System.Management.Automation.PSCredential ($serviceAdmin, $AdminPass)

# Set the credentials for the new Resource Provider VM
$vmLocalAdminPass = ConvertTo-SecureString "P@ssw0rd1" -AsPlainText -Force
$vmLocalAdminCreds = New-Object System.Management.Automation.PSCredential ("mysqlrpadmin", $vmLocalAdminPass)

# and the cloudadmin credential required for Privleged Endpoint access
$CloudAdminPass = ConvertTo-SecureString "P@ssw0rd1" -AsPlainText -Force
$CloudAdminCreds = New-Object System.Management.Automation.PSCredential ("$domain\cloudadmin", $CloudAdminPass)

# change the following as appropriate
$PfxPass = ConvertTo-SecureString "P@ssw0rd1" -AsPlainText -Force

# Run the installation script from the folder where you extracted the installation files
# Find the ERCS01 IP address first and make sure the certificate
# file is in the specified directory
. $tempDir\DeployMySQLProvider.ps1 -AzCredential $AdminCreds `
  -VMLocalCredential $vmLocalAdminCreds `
  -CloudAdminCredential $cloudAdminCreds `
  -PrivilegedEndpoint $privilegedEndpoint `
  -DefaultSSLCertificatePassword $PfxPass `
  -DependencyFilesLocalPath $tempDir\cert `
  -AcceptLicense

Parametri DeploySqlProvider.ps1DeploySqlProvider.ps1 parameters

È possibile specificare questi parametri nella riga di comando.You can specify these parameters in the command line. Se non fosse possibile, o qualsiasi parametro convalida non riesce, viene chiesto di fornire le.If you do not, or any parameter validation fails, you are prompted to provide the required ones.

Nome parametroParameter Name DescrizioneDescription Commento o il valore predefinitoComment or Default Value
CloudAdminCredentialCloudAdminCredential Le credenziali per l'amministratore del cloud, necessaria per l'accesso al Privleged Endpoint.The credential for the cloud administrator, necessary for accessing the Privleged Endpoint. obbligatoriorequired
AzCredentialAzCredential Specificare le credenziali per l'account di amministratore del servizio Azure dello Stack.Provide the credentials for the Azure Stack Service Admin account. Utilizzare le stesse credenziali utilizzate per la distribuzione dello Stack di Azure).Use the same credentials as you used for deploying Azure Stack). obbligatoriorequired
VMLocalCredentialVMLocalCredential Definire le credenziali per l'account amministratore locale del provider di risorse MySQL macchina virtuale.Define the credentials for the local administrator account of the MySQL resource provider VM. obbligatoriorequired
PrivilegedEndpointPrivilegedEndpoint Specificare l'indirizzo IP o nome DNS dell'Endpoint con privilegi.Provide the IP address or DNS Name of the Privileged Endpoint. obbligatoriorequired
DependencyFilesLocalPathDependencyFilesLocalPath Percorso alla condivisione locale contenente mysql-connector-net-6.9.9.msi.Path to a local share containing mysql-connector-net-6.9.9.msi. Se si specifica uno, il file del certificato deve trovarsi in questa directory.If you provide one, the certificate file must be placed in this directory as well. parametro facoltativo (obbligatorio a nodi multipli)optional (mandatory for multi-node)
DefaultSSLCertificatePasswordDefaultSSLCertificatePassword La password per il certificato con estensione pfxThe password for the .pfx certificate obbligatoriorequired
MaxRetryCountMaxRetryCount Definire il numero di volte che si desidera ripetere ogni operazione se si verifica un errore.Define how many times you want to retry each operation if there is a failure. 22
RetryDurationRetryDuration Definire il timeout di tra due tentativi, in secondi.Define the timeout between retries, in seconds. 120120
DisinstallareUninstall Rimuovere il provider di risorse e tutte le risorse associate (vedere le note sottostanti)Remove the resource provider and all associated resources (see notes below) NoNo
DebugModeDebugMode Impedisce la pulizia automatica in caso di errorePrevents automatic cleanup on failure NoNo
AcceptLicenseAcceptLicense Ignora la richiesta di accettare le condizioni di licenza GPL (http://www.gnu.org/licenses/old-licenses/gpl-2.0.html)Skips the prompt to accept the GPL License (http://www.gnu.org/licenses/old-licenses/gpl-2.0.html)

Seconda della velocità di download e le prestazioni del sistema, installazione potrebbe richiedere un minimo di 20 minuti o come long come diverse ore.Depending on the system performance and download speeds, installation may take as little as 20 minutes or as long as several hours. Se il pannello MySQLAdapter non è disponibile, aggiornare il portale di amministrazione.If the MySQLAdapter blade is not available, refresh the admin portal.

Nota

Se l'installazione richiede più di 90 minuti, potrebbe non riuscire e si verrà visualizzato un messaggio di errore sullo schermo e nel file di log.If the installation takes more than 90 minutes, it may fail and you will see a failure message on the screen and in the log file. La distribuzione viene ripetuta dal passaggio non riuscito.The deployment is retried from the failing step. Sistemi che non soddisfano le specifiche consigliate in memoria e i componenti di base non possono essere in grado di distribuire il RP MySQL.Systems that do not meet the recommended memory and core specifications may not be able to deploy the MySQL RP.

Verificare la distribuzione tramite il portale di Azure StackVerify the deployment using the Azure Stack portal

Nota

Al termine dell'esecuzione dello script di installazione, è necessario aggiornare il portale per visualizzare il pannello di amministrazione.After the installation script completes, you will need to refresh the portal to see the admin blade.

  1. Accedere al portale di amministrazione con l'amministratore del servizio.Sign in to the admin portal as the service administrator.

  2. Verificare che la distribuzione ha avuto esito positivo.Verify that the deployment succeeded. Cerca gruppi di risorse >, fare clic su di system.< percorso>.mysqladapter risorse di gruppo e verificare che tutte le distribuzioni di quattro ha avuto esito positivo.Browse for Resource Groups >, click on the system.<location>.mysqladapter resource group and verify that all four deployments succeeded.

    Verificare la distribuzione del componente MySQL

Offrono capacità connettendosi a un server di hosting MySQLProvide capacity by connecting to a MySQL hosting server

  1. Accedere al portale di Azure Stack come un amministratore del servizio.Sign in to the Azure Stack portal as a service admin.

  2. Passare a risorse amministrative > i server di Hosting MySQL > + Aggiungi.Browse to ADMINISTRATIVE RESOURCES > MySQL Hosting Servers > +Add.

    Il server di Hosting MySQL pannello è dove è possibile connettersi il Provider di risorse di Server MySQL effettive istanze di MySQL Server che servono come back-end del provider di risorse.The MySQL Hosting Servers blade is where you can connect the MySQL Server Resource Provider to actual instances of MySQL Server that serve as the resource provider’s backend.

    Server di hosting

  3. Riempire il form con i dettagli della connessione dell'istanza di MySQL Server.Fill the form with the connection details of your MySQL Server instance. Fornire il nome di dominio completo (FQDN) o un indirizzo IPv4 valido e non il nome breve della macchina virtuale.Provide the fully qualified domain name (FQDN) or a valid IPv4 address, and not the short VM name. Questa installazione non include un'istanza di MySQL predefinita.This installation no longer provides a default MySQL instance. Le dimensioni fornite consente al provider di risorse di gestire la capacità del database.The size provided helps the resource provider manage the database capacity. Dovrebbe essere vicino la capacità fisica del server di database.It should be close to the physical capacity of the database server.

    Nota

    Fino a quando l'istanza di MySQL è possibile accedere dai tenant e amministrazione di gestione risorse di Azure, può essere inserita nel controllo del codice del provider di risorse.As long as the MySQL instance can be accessed by the tenant and admin Azure Resource Manager, it can be placed under control of the resource provider. Istanza di MySQL deve essere allocate esclusivamente al relying Party.The MySQL instance must be allocated exclusively to the RP.

  4. Quando si aggiungono server, è necessario assegnare a uno SKU di nuovo o esistente per consentire la differenziazione delle offerte di servizio.As you add servers, you must assign them to a new or existing SKU to allow differentiation of service offerings. Ad esempio, è possibile avere un'istanza enterprise fornisce:For example, you can have an enterprise instance providing:

    • capacità di databaseDatabase capacity
    • Backup automaticoAutomatic backup
    • server ad alte prestazioni per i singoli reparti di riservaReserve high-performance servers for individual departments

Il nome SKU deve riflettere le proprietà in modo che i tenant è possono posizionare i database in modo appropriato.The SKU name should reflect the properties so that tenants can place their databases appropriately. Tutti i server di hosting in un'unità SKU devono avere le stesse funzionalità.All hosting servers in a SKU should have the same capabilities.

Creare uno SKU di MySQL

Nota

SKU può richiedere a un'ora per essere visibile nel portale.SKUs can take up to an hour to be visible in the portal. È possibile creare un database fino a quando non viene creato lo SKU.You cannot create a database until the SKU is created.

Per testare la distribuzione, creare il primo database MySQLTo test your deployment, create your first MySQL database

  1. Accedere al portale di Azure Stack come amministratore del servizio.Sign in to the Azure Stack portal as service admin.

  2. Fare clic su di + nuovo pulsante > dati e archiviazione > MySQL Database.Click the + New button > Data + Storage > MySQL Database.

  3. Compilare il modulo con i dettagli del database.Fill in the form with the database details.

    Creare un test di database MySQL

  4. Selezionare uno SKU.Select a SKU.

    Selezionare un'unità SKU

  5. Creare un'impostazione di account di accesso.Create a login setting. L'impostazione di account di accesso può essere riutilizzato o crearne una nuova.The login setting can be reused or a new one created. Questa impostazione contiene il nome utente e la password per il database.This setting contains the user name and password for the database.

    Creare un nuovo account di database

    La stringa di connessione include il nome del server di database reali.The connections string includes the real database server name. Copiarlo dal portale.Copy it from the portal.

    Ottenere la stringa di connessione per il database MySQL

Nota

La lunghezza dei nomi utente non può superare i 32 caratteri con MySQL 5.7 o 16 caratteri nelle versioni precedenti.The length of the user names cannot exceed 32 characters with MySQL 5.7 or 16 characters in earlier editions.

Aggiungere capacitàAdd capacity

Aggiungere la capacità aggiungendo altri server di MySQL nel portale di Azure Stack.Add capacity by adding additional MySQL servers in the Azure Stack portal. A uno SKU di nuovo o esistente, è possibile aggiungere ulteriori server.Additional servers can be added to a new or existing SKU. Verificare che le caratteristiche server sono uguali.Make sure the server characteristics are the same.

Rendere disponibili ai tenant i database MySQLMake MySQL databases available to tenants

Creare i piani e le offerte per rendere disponibili i database di MySQL per tenant.Create plans and offers to make MySQL databases available for tenants. Aggiungere il servizio Microsoft.MySqlAdapter, aggiungere una quota e così via.Add the Microsoft.MySqlAdapter service, add a quota, etc.

Creare i piani e le offerte per includere i database

Aggiornare la password amministrativaUpdate the administrative password

È possibile modificare la password può essere modificato nell'istanza del server MySQL.You can modify the password by first changing it on the MySQL server instance. Passare a risorse amministrative > server di Hosting MySQL > e fare clic sul server di hosting.Browse to ADMINISTRATIVE RESOURCES > MySQL Hosting Servers > and click on the hosting server. Nel pannello impostazioni, fare clic su Password.In the Settings panel, click on Password.

Aggiornare la password dell'amministratore

Rimuovere la scheda Provider di risorse MySQLRemove the MySQL Resource Provider Adapter

Per rimuovere il provider di risorse, è necessario innanzitutto rimuovere tutte le dipendenze.To remove the resource provider, it is essential to first remove any dependencies.

  1. Assicurarsi di disporre del pacchetto di distribuzione originale scaricati per questa versione del Provider di risorse.Ensure you have the original deployment package that you downloaded for this version of the Resource Provider.

  2. È necessario eliminare tutti i database tenant dal provider di risorse (non eliminare i dati).All tenant databases must be deleted from the resource provider (this doesn't delete the data). Questa deve essere eseguita per i tenant stessi.This should be performed by the tenants themselves.

  3. È necessario annullare la registrazione di tenant dallo spazio dei nomi.Tenants must unregister from the namespace.

  4. Amministratore deve eliminare il server di hosting dalla scheda di MySQLAdministrator must delete the hosting servers from the MySQL Adapter

  5. Amministratore deve eliminare i piani che fanno riferimento l'Adapter di MySQL.Administrator must delete any plans that reference the MySQL Adapter.

  6. Amministratore deve eliminare le quote associate alla scheda di MySQL.Administrator must delete any quotas associated to the MySQL Adapter.

  7. Eseguire di nuovo lo script di distribuzione con il parametro - disinstallare parametro, gli endpoint di gestione risorse di Azure, DirectoryTenantID e le credenziali per l'account amministratore del servizio.Rerun the deployment script with the -Uninstall parameter, Azure Resource Manager endpoints, DirectoryTenantID, and credentials for the service administrator account.

Passaggi successiviNext steps

Provare altre servizi PaaS come il il provider di risorse di SQL Server e il provider di risorse di servizi App.Try other PaaS services like the SQL Server resource provider and the App Services resource provider.