Migrar seu banco de dados MariaDB para o banco de dados do Azure para MariaDB usando despejo e restauração

Importante

O Banco de Dados do Azure para MariaDB está a caminho da desativação. Recomendamos fortemente que você migre para o Banco de Dados do Azure para MySQL. Para obter mais informações sobre como migrar para o Banco de Dados do Azure para MySQL, confira O que está acontecendo com o Banco de Dados do Azure para MariaDB?.

Este artigo explica duas maneiras comuns de fazer backup e restaurar bancos de dados no banco de dados do Azure para MariaDB:

  • Despejar e restaurar usando uma ferramenta de linha de comando (usando mysqldump).
  • Despejar e restaurar usando o phpMyAdmin.

Pré-requisitos

Antes de começar a migrar seu banco de dados, faça o seguinte:

Usar ferramentas comuns

Use ferramentas e utilitários comuns, como MySQL Workbench ou mysqldump, para se conectar remotamente e restaurar dados no Banco de Dados do Azure para MySQL. Use essas ferramentas em sua máquina cliente com uma conexão com a Internet para se conectar ao banco de dados do Azure para MariaDB. Use uma conexão criptografada com SSL como uma prática recomendada de segurança. Para obter mais informações, consulteconfigurar conectividade SSL no banco de dados do Azure para MariaDB. Você não precisa mover os arquivos de despejo para nenhum local de nuvem especial ao migrar para o Banco de Dados do Azure para o MariaDB.

Usos comuns de despejo e restauração

Você pode usar os utilitários MySQL, como mysqldump e mysqlpump, para despejar e carregar bancos de dados em um banco de dados do Azure para o servidor MariaDB em vários cenários comuns.

  • Use despejos do banco de dados quando você estiver migrando um banco de dados inteiro. Essa recomendação é válida ao mover uma grande quantidade de dados ou quando você deseja minimizar a interrupção do serviço de sites ou aplicativos ativos.

  • Certifique-se de que todas as tabelas no banco de dados usam o mecanismo de armazenamento InnoDB ao carregar dados no banco de dados do Azure para o MariaDB O banco de dados do Azure para MariaDB dá suporte apenas ao mecanismo de armazenamento InnoDB e não a outros mecanismos de armazenamento. Se suas tabelas estiverem configuradas com outros mecanismos de armazenamento, converta-as no formato do mecanismo InnoDB antes da migração para o Banco de Dados do Azure para o MariaDB.

    Por exemplo, se você tiver um aplicativo do WordPress ou um aplicativo Web que usa tabelas MyISAM, primeiro converta essas tabelas migrando-as para o formato InnoDB antes de restaurá-las para o banco de dados do Azure para MariaDB. Use a cláusula ENGINE=InnoDB para definir o mecanismo para criar uma tabela e, em seguida, transfira os dados para a tabela compatível antes da migração.

    INSERT INTO innodb_table SELECT * FROM myisam_table ORDER BY primary_key_columns
    
  • Para evitar problemas de compatibilidade enquanto estiver despejando o banco de dados, certifique-se de que a mesma versão do MariaDB seja usada nos sistemas de origem e de destino ao despejar bancos de dados Por exemplo, se o seu servidor MariaDB existente for a versão 10.2, você deverá migrar para o banco de dados do Azure para o MariaDB configurado para executar a versão 10.2. O comandomysql_upgrade não funciona em um Banco de Dados do Azure para o servidor MariaDB e não tem suporte. Se você precisar atualizar as versões do MariaDB, primeiro descarte ou exporte seu banco de dados de versão inferior para uma versão superior do MariaDB em seu próprio ambiente. Em seguida, você pode executar mysql_upgrade antes de tentar migrar para o banco de dados do Azure para MariaDB.

Considerações sobre o desempenho

Para otimizar o desempenho quando você estiver despejando grandes bancos de dados, tenha em mente as seguintes considerações:

  • Use a exclude-triggers opção em mysqldump. Exclua os gatilhos de arquivos de despejo para evitar que os comandos de gatilho acionem durante a restauração de dados.
  • Use a opção single-transaction para definir o modo de isolamento da transação para LEITURA REPETIDA e enviar uma instrução SQL INICIAR TRANSAÇÃO para o servidor antes de despejar os dados. Despejar muitas tabelas em uma única transação pode fazer com que alguns armazenamentos adicionais sejam consumidos durante a restauração. A opção single-transaction e a opçãolock-tables são mutuamente exclusivas. Isso ocorre porque as TABELAS DE BLOQUEIO fazem com que todas as transações pendentes sejam confirmadas implicitamente. Para despejar tabelas grandes, combine a opção single-transaction com a opção quick.
  • Use a sintaxe de várias linhas extended-insert, que inclui várias listas VALUE. O resultado será um arquivo de despejo menor e inserções mais rápidas quando o arquivo é recarregado.
  • Use a opção order-by-primary em mysqldump ao despejar bancos de dados, para que os dados sejam executados na ordem de chave primária.
  • Use a opção disable-keys em mysqldump ao despejar dados, para desabilitar as restrições de chave estrangeira antes da carga. A desabilitação das verificações de chave estrangeira ajuda a melhorar o desempenho. Habilite as restrições e verifique os dados após o carregamento para garantir a integridade referencial.
  • Use tabelas particionadas, quando apropriado.
  • Carregar dados em paralelo. Evite o excesso de paralelismo que poderá fazer com que você atinja um limite de recursos e monitore os recursos usando as métricas disponíveis no portal do Azure.
  • Use a opção defer-table-indexes em mysqlpump ao despejar bancos de dados, para que a criação de índice ocorra após os dados de tabelas que são carregados.
  • Copie os arquivos de backup para um repositório de blob do Azure e execute a restauração a partir daí. Essa abordagem deve ser muito mais rápida do que fazer a restauração pela Internet.

Crie um arquivo de backup

Para fazer backup de um banco de dados MariaDB existente no servidor local ou em uma máquina virtual, execute o seguinte comando usando mysqldump:

mysqldump --opt -u <uname> -p<pass> <dbname> > <backupfile.sql>

Os seguintes parâmetros devem ser fornecidos:

  • <uname>: seu nome de usuário do banco de dados
  • <pass>: a senha do banco de dados (observe que não há nenhum espaço entre -p e a senha)
  • <dbname>: o nome do banco de dados
  • <backupfile.sql>: o nome do arquivo para o backup do banco de dados
  • <--opt>: a opção mysqldump

Por exemplo, para fazer backup de um banco de dados denominadotestdb em seu servidor MariaDB com o nome de usuáriotestuser e sem senha para um arquivo testdb_backup.sql, use o seguinte comando. O comando faz backup do banco de dados testdb em um arquivo chamado testdb_backup.sql, que contém todas as instruções SQL necessárias para recriar o banco de dados.

mysqldump -u root -p testdb > testdb_backup.sql

Para selecionar tabelas específicas em seu banco de dados para backup, liste os nomes de tabela, separados por espaços. Por exemplo, para fazer backup somente das tabelas table1 e table2 de testdb, siga este exemplo:

mysqldump -u root -p testdb table1 table2 > testdb_tables_backup.sql

Para fazer backup de mais de um banco de dados ao mesmo tempo, use a opção --database e liste os nomes dos banco de dados separados por espaços.

mysqldump -u root -p --databases testdb1 testdb3 testdb5 > testdb135_backup.sql

Crie um banco de dados no servidor de destino

Crie um banco de dados vazio no Banco de Dados do Azure de destino para o servidor MariaDB no qual você deseja migrar os dados. Use uma ferramenta, como o MySQL Workbench, para criar o banco de dados. O banco de dados pode ter o mesmo nome do banco de dados que contém os dados despejados ou você pode criar um banco de dados com um nome diferente.

Para se conectar, localize as informações de conexão naVisão geral do Banco de Dados do Azure para MariaDB.

Captura de tela do painel Visão geral de um banco de dados do Azure para MariaDB Server no portal do Azure.

Adicione as informações de conexão ao MySQL Workbench.

Captura de tela do painel conexões MySQL no MySQL Workbench.

Restaurar seu banco de dados do MariaDB

Depois de criar o banco de dados de destino, você pode usar o comando mysql ou o MySQL Workbench para restaurar os dados no banco de dados recém-criado do arquivo de despejo.

mysql -h <hostname> -u <uname> -p<pass> <db_to_restore> < <backupfile.sql>

Neste exemplo, restaure os dados no banco de dados recém-criado no banco de dados de Azure de destino para o servidor MariaDB.

mysql -h mydemoserver.mariadb.database.azure.com -u myadmin@mydemoserver -p testdb < testdb_backup.sql

Para exportar seu banco de dados MariaDB usando o PHPMyAdmin:

Para exportar, você pode usar a ferramenta phpMyAdmin que você pode já ter instalado localmente em seu ambiente. Para exportar seu banco de dados MariaDB usando o PHPMyAdmin:

  1. Abra o phpMyAdmin.
  2. No painel esquerdo, selecione seu banco de dados e, em seguida, selecione o link Exportar. Aparece uma nova página para exibir o despejo do banco de dados.
  3. Na área de Exportação, clique no link Selecionar Tudo para selecionar as tabelas no banco de dados.
  4. Na área de opções do SQL, clique nas opções apropriadas.
  5. Clique na opção Salvar como arquivo e na opção de compactação correspondente e, em seguida, clique no botão Ir. No prompt, salve o arquivo localmente.

Importar seu banco de dados usando o phpMyAdmin

O processo de importação é semelhante ao processo de exportação. Faça o seguinte:

  1. Abra o phpMyAdmin.
  2. Na página de configuração do phpMyAdmin, clique em Adicionar para adicionar seu banco de dados do Azure para o servidor MariaDB.
  3. Forneça os detalhes de conexão e informações de login.
  4. Crie um banco de dados com o nome adequado e selecione-o na lista à esquerda da tela. Para reconfigurar o banco de dados existente, clique no nome do banco de dados, selecione todas as caixas de seleção ao lado dos nomes da tabela e selecione Remover para excluir as tabelas existentes.
  5. Clique no link SQL para mostrar a página onde você pode digitar os comandos SQL ou fazer upload do arquivo SQL.
  6. Use o botão procurar para localizar o arquivo do banco de dados.
  7. Clique no botão Ir para exportar o backup, execute os comandos SQL e recrie o banco de dados.

Próximas etapas