Migrar a base de dados MariaDB para o Azure Database for MariaDB através da funcionalidade de captura e restauro
Importante
O Banco de Dados do Azure para MariaDB está no caminho da aposentadoria. É altamente recomendável migrar 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, consulte 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 em seu banco de dados do Azure para MariaDB:
- Despeje e restaure usando uma ferramenta de linha de comando (usando mysqldump).
- Despeje e restaure usando phpMyAdmin.
Pré-requisitos
Antes de começar a migrar o banco de dados, faça o seguinte:
- Crie um Banco de Dados do Azure para o servidor MariaDB - Portal do Azure.
- Instale o utilitário de linha de comando mysqldump .
- Baixe e instale o MySQL Workbench ou outra ferramenta MySQL de terceiros para executar comandos de despejo e restauração.
Utilizar ferramentas comuns
Use utilitários e ferramentas comuns, como MySQL Workbench ou mysqldump, para conectar e restaurar dados remotamente em seu banco de dados do Azure para MariaDB. 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 SSL como uma prática recomendada de segurança. Para obter mais informações, consulte Configurar a 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 dados para seu banco de dados do Azure para MariaDB.
Usos comuns para despejo e restauração
Você pode usar 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 de banco de dados ao migrar um banco de dados inteiro. Essa recomendação é válida quando você estiver movendo uma grande quantidade de dados ou quando quiser minimizar a interrupção do serviço para sites ou aplicativos ativos.
Certifique-se de que todas as tabelas no banco de dados usam o mecanismo de armazenamento InnoDB quando você estiver carregando dados em seu banco de dados do Azure para MariaDB. O Banco de Dados do Azure para MariaDB dá suporte apenas ao mecanismo de armazenamento InnoDB e nenhum outro mecanismo de armazenamento. Se suas tabelas estiverem configuradas com outros mecanismos de armazenamento, converta-as no formato de mecanismo InnoDB antes de migrá-las para seu banco de dados do Azure para MariaDB.
Por exemplo, se você tiver um aplicativo WordPress ou um aplicativo Web que use tabelas MyISAM, primeiro converta essas tabelas migrando-as para o formato InnoDB antes de restaurá-las para seu banco de dados do Azure para MariaDB. Use a cláusula
ENGINE=InnoDB
para definir o mecanismo a ser usado para criar uma nova tabela e, em seguida, transfira os dados para a tabela compatível antes de restaurá-la.INSERT INTO innodb_table SELECT * FROM myisam_table ORDER BY primary_key_columns
Para evitar problemas de compatibilidade ao despejar bancos de dados, certifique-se de estar usando a mesma versão do MariaDB nos sistemas de origem e destino. Por exemplo, se o servidor MariaDB existente for a versão 10.2, você deverá migrar para o banco de dados do Azure para MariaDB configurado para executar a versão 10.2. O
mysql_upgrade
comando não funciona em um banco de dados do Azure para servidor MariaDB e não é suportado. Se você precisar atualizar entre as versões do MariaDB, primeiro despeje ou exporte seu banco de dados da versão anterior para uma versão posterior do MariaDB em seu próprio ambiente. Em seguida, você pode executarmysql_upgrade
antes de tentar migrar para seu banco de dados do Azure para MariaDB.
Considerações de desempenho
Para otimizar o desempenho ao despejar bancos de dados grandes, tenha em mente as seguintes considerações:
- Use a
exclude-triggers
opção em mysqldump. Exclua gatilhos de arquivos de despejo para evitar que os comandos de gatilho sejam acionados durante a restauração de dados. - Use a
single-transaction
opção para definir o modo de isolamento de transação como REPEATABLE READ e envie uma instrução START TRANSACTION SQL para o servidor antes de despejar dados. O despejo de muitas tabelas em uma única transação faz com que algum armazenamento extra seja consumido durante a restauração. Asingle-transaction
opção e alock-tables
opção excluem-se mutuamente. Isso ocorre porque LOCK TABLES faz com que quaisquer transações pendentes sejam confirmadas implicitamente. Para despejar tabelas grandes, combine a opção com asingle-transaction
quick
opção. - Use a
extended-insert
sintaxe de várias linhas que inclui várias listas VALUE. Essa abordagem resulta em um arquivo de despejo menor e acelera as inserções quando o arquivo é recarregado. - Use a
order-by-primary
opção em mysqldump quando estiver despejando bancos de dados, para que os dados sejam roteirizados na ordem da chave primária. - Use a
disable-keys
opção em mysqldump quando estiver despejando dados, para desativar restrições de chave estrangeira antes do carregamento. A desativação de verificações de chaves estrangeiras ajuda a melhorar o desempenho. Habilite as restrições e verifique os dados após a carga para garantir a integridade referencial. - Use tabelas particionadas quando apropriado.
- Carregue dados em paralelo. Evite muito paralelismo, que pode 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 em mysqlpump quando estiver despejando bancos de dados, para que a criação do índice aconteça depois que os
defer-table-indexes
dados da tabela forem 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 executar a restauração na Internet.
Criar um arquivo de backup
Para fazer backup de um banco de dados MariaDB existente no servidor local local ou em uma máquina virtual, execute o seguinte comando usando mysqldump:
mysqldump --opt -u <uname> -p<pass> <dbname> > <backupfile.sql>
Os parâmetros a fornecer são:
- <uname>: Seu nome de usuário do banco de dados
- <pass>: A senha do seu banco de dados (observe que não há espaço entre -p e a senha)
- <dbname>: O nome do seu 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 chamado testdb em seu servidor MariaDB com o nome de usuário testuser e sem senha para um arquivo testdb_backup.sql, use o seguinte comando. O comando faz backup do testdb
banco de dados 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 para backup em seu banco de dados, liste os nomes das tabelas, separados por espaços. Por exemplo, para fazer backup apenas das tabelas table1 e table2 do 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 bancos de dados, separados por espaços.
mysqldump -u root -p --databases testdb1 testdb3 testdb5 > testdb135_backup.sql
Criar 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 para o 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 que o 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 no painel Visão geral do seu banco de dados do Azure para MariaDB.
No MySQL Workbench, adicione as informações de conexão.
Restaure seu banco de dados 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 a partir do arquivo de dump.
mysql -h <hostname> -u <uname> -p<pass> <db_to_restore> < <backupfile.sql>
Neste exemplo, você restaura os dados no banco de dados recém-criado no Banco de Dados do Azure de destino para o servidor MariaDB.
mysql -h mydemoserver.mariadb.database.azure.com -u myadmin@mydemoserver -p testdb < testdb_backup.sql
Exporte seu banco de dados MariaDB usando o phpMyAdmin
Para exportar, você pode usar a ferramenta comum phpMyAdmin, que já pode estar instalada localmente em seu ambiente. Para exportar seu banco de dados MariaDB, faça o seguinte:
- Abra o phpMyAdmin.
- No painel esquerdo, selecione seu banco de dados e, em seguida, selecione o link Exportar . Uma nova página aparece para exibir o despejo do banco de dados.
- Na área Exportar, selecione o link Selecionar tudo para escolher as tabelas em seu banco de dados.
- Na área de opções SQL, selecione as opções apropriadas.
- Selecione a opção Salvar como arquivo e a opção de compactação correspondente e, em seguida, selecione Ir. No prompt, salve o arquivo localmente.
Importe seu banco de dados usando o phpMyAdmin
O processo de importação é semelhante ao processo de exportação. Efetue o seguinte procedimento:
- Abra o phpMyAdmin.
- Na página de configuração do phpMyAdmin, selecione Adicionar para adicionar seu Banco de Dados do Azure para o servidor MariaDB.
- Insira os detalhes da conexão e as informações de login.
- Crie um banco de dados com o nome apropriado e selecione-o no painel esquerdo. Para reescrever o banco de dados existente, selecione o nome do banco de dados, marque todas as caixas de seleção ao lado dos nomes das tabelas e selecione Soltar para excluir as tabelas existentes.
- Selecione o link SQL para mostrar a página onde você pode inserir comandos SQL ou carregar seu arquivo SQL .
- Selecione o botão Procurar para localizar o arquivo de banco de dados.
- Selecione o botão Ir para exportar o backup, executar os comandos SQL e recriar seu banco de dados.
Próximos passos
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários