Adicionar servidores de alojamento MySQL no Azure Stack Hub

Importante

A partir da compilação 2108 do Azure Stack Hub, os fornecedores de recursos SQL e MySQL são oferecidos às subscrições a quem foi concedido acesso. Se quiser começar a utilizar esta funcionalidade ou se precisar de atualizar a partir de uma versão anterior, abra um caso de suporte e os nossos engenheiros de suporte irão orientá-lo ao longo do processo de implementação ou atualização.

Pode alojar uma instância do servidor de alojamento MySQL numa máquina virtual (VM) no Azure Stack Hub ou numa VM fora do ambiente do Azure Stack Hub, desde que o fornecedor de recursos MySQL possa ligar à instância.

Nota

O fornecedor de recursos MySQL deve ser criado na subscrição de fornecedor predefinida, enquanto os servidores de alojamento MySQL devem ser criados em subscrições de utilizador faturáveis. O servidor do fornecedor de recursos não deve ser utilizado para alojar bases de dados de utilizador.

As versões 5.6, 5.7 e 8.0 do MySQL podem ser utilizadas para os servidores de alojamento. O RP mySQL não suporta caching_sha2_password autenticação. Os servidores MySQL 8.0 têm de ser configurados para utilizar mysql_native_password.

Preparar um servidor de alojamento MySQL

Criar uma regra de grupo de segurança de rede

Por predefinição, não está configurado qualquer acesso público para MySQL na VM do anfitrião. Para que o fornecedor de recursos MySQL do Azure Stack Hub se ligue e faça a gestão do servidor MySQL, é necessário criar uma regra de grupo de segurança de rede (NSG) de entrada.

  1. No portal de administrador, aceda ao grupo de recursos criado ao implementar o servidor MySQL e selecione o grupo de segurança de rede (default-subnet-sg):

    Selecionar grupo de segurança de rede no portal de administrador do Azure Stack Hub

  2. Selecione Regras de segurança de entrada e, em seguida, selecione Adicionar.

    Introduza 3306 no intervalo de portas de destino e, opcionalmente, forneça uma descrição nos campos Nome e Descrição .

    open

  3. Selecione Adicionar para fechar a caixa de diálogo da regra de segurança de entrada.

Configurar o acesso externo ao servidor de alojamento MySQL

Antes de o servidor MySQL poder ser adicionado como anfitrião do Servidor MySQL do Azure Stack Hub, o acesso externo tem de ser ativado. Veja o Bitnami MySQL, que está disponível no marketplace do Azure Stack Hub como exemplo, pode seguir os passos seguintes para configurar o acesso externo.

  1. A utilização de um cliente SSH (este exemplo utiliza PuTTY) inicia sessão no servidor MySQL a partir de um computador que pode aceder ao IP público.

    Utilize o IP público e inicie sessão na VM com o nome de utilizador e a palavra-passe de aplicação que criou anteriormente sem carateres especiais.

    LinuxLogin

  2. Na janela do cliente SSH, utilize o seguinte comando para garantir que o serviço bitnami está ativo e em execução. Forneça a palavra-passe bitnami novamente quando lhe for pedido:

    sudo service bitnami status

    Verificar o serviço bitnami

  3. Se o servidor de alojamento MySQL for a versão 8.0 ou superior, terá de alterar o método de autenticação para mysql_native_password. Se a versão do MySQL estiver abaixo da versão 8.0, este passo pode ser ignorado.

    Veja o Bitnami MySQL como exemplo, o ficheiro de configuração está em /opt/bitnami/mysql/conf/my.cnf. Defina a propriedade default_authentication_plugin com mysql_native_password de valor.

    [mysqld]
    default_authentication_plugin=mysql_native_password
    

    Reinicie o serviço Bitnami e certifique-se de que está a ser executado corretamente, mas antes de ter de eliminar o ficheiro ib_logfile0 antes de iniciar o serviço Bitnami.

    sudo service bitnami stop
    sudo rm /bitnami/mysql/data/ib_logfile0
    sudo service bitnami start
    sudo service bitnami status
    
  4. Crie uma conta de utilizador de acesso remoto para ser utilizada pelo Servidor de Alojamento MySQL do Azure Stack Hub para ligar ao MySQL.

    Execute os seguintes comandos para iniciar sessão no MySQL como raiz, utilizando a palavra-passe de raiz que é gravada em ~/bitnami_credentials. Crie um novo utilizador administrador e substitua <o nome> de utilizador e <a palavra-passe> conforme necessário para o seu ambiente. Neste exemplo, o utilizador criado tem o nome sqlsa e é utilizada uma palavra-passe segura:

    mysql -u root -p
    create user <username>@'%' identified by '<password>';
    grant all privileges on *.* to <username>@'%' with grant option;
    flush privileges;
    

    Criar utilizador administrador

  5. Certifique-se de que o plug-in do sql user sqlsa criado está mysql_native_password e, em seguida, saia do cliente SSH.

    SELECT user,host,plugin from mysql.user;
    
  6. Registe as novas informações de utilizador do MySQL.

    Este nome de utilizador e palavra-passe serão utilizados enquanto o operador do Azure Stack Hub cria um servidor de alojamento MySQL com este servidor MySQL.

Ligar a um servidor de alojamento MySQL

Certifique-se de que tem as credenciais de uma conta com privilégios de administrador de sistema.

Nota

Para o MySQL 8.0 e versões acima, o acesso remoto não está ativado por predefinição. Tem de criar uma nova conta de utilizador e conceder o privilégio de acesso remoto a esta conta de utilizador antes de a adicionar como um servidor de alojamento.

Para adicionar um servidor de alojamento, siga estes passos:

  1. Inicie sessão no portal de administrador do Azure Stack Hub como administrador de serviços.

  2. Selecione Todos os serviços.

  3. Na categoria RECURSOS ADMINISTRATIVOS , selecione MySQL Hosting Servers>+Add. A caixa de diálogo Adicionar um Servidor de Alojamento MySQL será aberta, apresentada na captura de ecrã seguinte.

    Configurar um servidor de alojamento MySQL

  4. Indique os detalhes de ligação da sua instância do Servidor MySQL.

    • Para o Nome do Servidor de Alojamento MySQL, forneça o nome de domínio completamente qualificado (FQDN) ou um endereço IPv4 válido. Não utilize o nome curto da VM.
    • O Nome de Utilizador do administrador predefinido para as imagens Do Bitnami MySQL disponíveis no Marketplace do Azure Stack Hub é raiz.
    • Se não souber a Palavra-passe de raiz, consulte a documentação do Bitnami para saber como obtê-la.
    • Não é fornecida uma instância mySQL predefinida, pelo que tem de especificar o Tamanho do Servidor de Alojamento em GB. Introduza um tamanho próximo da capacidade do servidor de bases de dados.
    • Mantenha a predefinição de Subscrição.
    • Para Grupo de recursos, crie um novo ou utilize um grupo existente.

    Importante

    Não escolha Grupo de recursossystem.<region>.sqladapter, que foi criado pelo instalador do fornecedor de recursos MySQL durante a implementação. Tem de fornecer um grupo de recursos diferente para o servidor de alojamento.

    Nota

    Se a instância mySQL puder ser acedida pelo inquilino e pelo administrador do Azure Resource Manager, pode colocá-la sob o controlo do fornecedor de recursos. Contudo, a instância do MySQL tem de ser alocada exclusivamente ao fornecedor de recursos.

  5. Selecione SKUs para abrir a caixa de diálogo Criar SKU .

    Criar um SKU MySQL

    O Nome do SKU deve refletir as propriedades do SKU para que os utilizadores possam implementar as respetivas bases de dados no SKU adequado.

  6. Selecione OK para criar o SKU.

    Nota

    Os SKUs podem demorar até uma hora a serem visíveis no portal. Não pode criar uma base de dados até que o SKU seja implementado e em execução.

  7. Em Adicionar um Servidor de Alojamento MySQL, selecione Criar.

À medida que adiciona servidores, atribua-os a um SKU novo ou existente para diferenciar as ofertas de serviço. Por exemplo, pode ter uma instância empresarial MySQL que fornece uma base de dados aumentada e cópias de segurança automáticas. Pode reservar este servidor de alto desempenho para diferentes departamentos na sua organização.

Considerações de segurança para MySQL

As seguintes informações aplicam-se aos servidores de alojamento RP e MySQL:

Aumentar a capacidade da base de dados de back-end

Pode aumentar a capacidade da base de dados de back-end ao implementar mais servidores MySQL no portal do Azure Stack Hub. Adicione estes servidores a um SKU novo ou existente. Se adicionar um servidor a um SKU existente, certifique-se de que as características do servidor são as mesmas que os outros servidores no SKU.

Notas de SKU

Utilize um nome de SKU que descreva as capacidades dos servidores no SKU, como capacidade e desempenho. O nome serve como uma ajuda para ajudar os utilizadores a implementar as respetivas bases de dados no SKU adequado. Por exemplo, pode utilizar nomes de SKU para diferenciar as ofertas de serviço pelas seguintes características:

  • capacidade elevada
  • elevado desempenho
  • elevada disponibilidade

Como melhor prática, todos os servidores de alojamento num SKU devem ter as mesmas características de recurso e desempenho.

Os SKUs não podem ser ocultados de determinados inquilinos, nem podem ser dedicados a determinados inquilinos.

Para editar um SKU, aceda a Todos os serviços>SKUs doAdaptador> MySQL. Selecione o SKU a modificar, faça as alterações necessárias e clique em Guardar para guardar as alterações.

Para eliminar um SKU que já não é necessário, aceda a Todos os serviços>SKUs doAdaptador> MySQL. Clique com o botão direito do rato no nome do SKU e selecione Eliminar para eliminá-lo.

Importante

Pode demorar até uma hora para que os novos SKUs estejam disponíveis no portal de utilizador.

Disponibilizar os servidores da base de dados MySQL aos seus utilizadores

Crie planos e ofertas para disponibilizar servidores de bases de dados MySQL aos utilizadores. Adicione o serviço Microsoft.MySqlAdapter ao plano e crie uma nova quota. O MySQL não permite limitar o tamanho das bases de dados.

Importante

Pode demorar até duas horas para que as novas quotas estejam disponíveis no portal do utilizador ou antes de ser imposta uma quota alterada.

Nota

Não pode eliminar uma quota se existirem planos atuais que a utilizem. Primeiro, tem de eliminar o plano que referencia a quota.

Passos seguintes

Criar uma base de dados MySQL