Eu tenho dois bancos de dados MySQL idênticos um em um servidor interno e outro em um servidor de hospedagem na web. Eu quero atualizar o banco de dados no host da Web todos os dias com o banco de dados no servidor interno. Existe uma maneira de automatizar esse processo também como posso fazer isso manualmente? Se eu fizer isso manualmente, será necessário obter um dump SQL do banco de dados no servidor interno e importá-lo no banco de dados no host da web? Alguém pode aconselhar por favor.
relate perguntas
-
Existem ferramentas de benchmarking do MySQL? [fechado]
-
Onde posso encontrar o log lento do mysql?
-
Como posso otimizar um mysqldump de um banco de dados grande?
-
Quando é o momento certo para usar o MariaDB em vez do MySQL e por quê?
-
Como um grupo pode rastrear alterações no esquema do banco de dados?
Você tem poucas opções:
Configure a replicação do MySQL entre os servidores. Seu servidor interno pode atuar como mestre e o servidor host da web como escravo. Quaisquer atualizações realizadas no Master serão replicadas para o slave imediatamente (assumindo uma conexão funcional). Esta será provavelmente a opção mais fácil e eficaz de escolher. Para usar a replicação, seu banco de dados interno precisaria estar acessível pela rede a partir do host da web.
Você pode ler mais sobre replicação aqui .
Todos os dias, você pode executar um mysqldump no servidor interno, fazer upload do arquivo de despejo para o host da Web e importar os dados. Como esse é um dump completo, se você tiver um banco de dados muito grande, isso pode não ser viável. Se desejar, esse procedimento pode ser potencialmente roteirizado para evitar a necessidade de fazê-lo manualmente.
Você pode configurar o log binário no servidor interno. Você pode então enviar os logs binários para o host da web e aplicá-los ao banco de dados, reproduzindo efetivamente todas as transações que ocorreram naquele dia para o servidor da web. Na verdade, isso é o que acontece com a replicação de qualquer maneira, então você quase sempre usaria a replicação configurada em vez dessa opção.
Se não houver conexão entre os dois bancos de dados, fazer mysqldumps todos os dias será o caminho mais fácil.
Você também pode usar opções como symmetricDS que podem ajudar na sincronização de dois bancos de dados. Com isso, você poderá selecionar as tabelas que precisam ser sincronizadas para economizar largura de banda da Internet. Isso também seria adequado no cenário em que há falta de conectividade entre dois locais.
Como configurar a replicação de banco de dados com MariaDB: https://www.techrepublic.com/article/how-to-set-up-database-replication-with-mariadb/
Você pode usar o Navicat . É principalmente um gerenciador de banco de dados, mas possui funcionalidade de transferência e sincronização de dados, além de um agendador para que você possa automatizar. Não é gratuito, mas há um teste de 30 funções completas.