Jump to content
asacap1000

Replicar Banco de dados Mysql

Recommended Posts

Galera poderiam me ajudar. Tenho um servidor (Server 2008) com mysql etc instalado. Preciso replicar esse banco para outro servidor que será utilizado como testes. Tudo que eu adicionar ou remover do servidor master deve ser replicado para o servidor Homol mas não pode ocorrer o inverso.

 

Se puderem me passar algum tutorial ou dar algumas dicas aqui ficarei muito agradecido.

Share this post


Link to post
Share on other sites

asacap1000

O MySQL dispõem de um utilitário chamado Backup from SQL Dump.

Existem comandos para serem realizados via Prompt de Comando (Windows) ou Terminais (Linux)

 

"Abra o prompt ou terminal (Linux/Unix) e digite o seguinte comando: 

mysql> flush logs;

shell> mysqldump -u <usuario> -p<senha> mysql > mysql.sql"

 

Só que eu recomendo você a utilizar um programa para interface com o banco de dados como o SqLyog Enterprise ou Portable para fazer o Backup com o SQL Dump, basta você clicar com o botão direito em cima do seu DataBase e escolher a opção exportar-> Backup from SQL Dump.

 

Este utilitário cria um arquivo de texto com todos os CREATES, desde o CREATE DATABASE, CREATE TABLE e tudo mais até os comandos de INSERT de todos os registros já existentes na sua base de dados (tabelas).

 

Ai basta você abrir o seu outro servidor e executar todos os comandos SQL deste arquivo texto gerado.

O próprio SqLyog possui a opção de realizar um restore via SQL Dump ou basta apenas abrir este arquivo dentro do programa, selecionar tudo e executar.

 

Caso você não consiga encontrar esse programa, você pode realizar o backup usando o PHPMyAdmin, que geralmente é padrão em muitos servidor que utilizam o MySQL, nele existe a opção EXPORTAR.

 

Dentro desse "link" existem as opções:

Export Method:

  • Quick - display only the minimal options
  • Custom - display all possible options

 

E a escolha do formato do arquivo. (Imagem abaixo)image.png.d51555ab29ebd394e39dd8ca2ba9086c.png

 

Basta escolher Format = SQL e clicar em Executar, ele vai realizar a mesma tarefa do SQL Dump detalhado acima.

Na imagem acima repare que existe a opção IMPORTAR, que você pode usar para restaurar o Backup Gerado.

 

Agora, referente a outra questão, tudo o que você fizer no original você quer que passe para o servidor de Teste mas o de Teste não passe para o Original.

Você vai precisar ajustar replicar e ajustar a sua aplicação.

 

A aplicação que esta no seu servidor de "PRODUÇÃO" você precisa ajustar para realizar INSERT nas duas base de dados.

Agora na aplicação que você for replicar e passou para o seu servidor de "TESTE" você vai ter que remover tudo o que tem de INSERT para as duas bases e deixa apenas para a base do seu servidor de "TESTE".

 

Isso vale para todos os comandos da sua aplicação (INSERT, UPDATE, DELETE) talvez o SELECT você não precise duplicar e sim apontar para o banco de dados correto, PRODUÇÃO --> PRODUÇÃO e TESTE --> TESTE.

Se foi o que eu entendi da sua necessidade.

Qualquer coisa poste mais detalhes para a melhor analise.

 

Espero ter ajudado de alguma forma.

 

Att.

Felipe Coutinho

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Kefatif
      Prezados, boa tarde.
       
      Preciso criar um select que me traga do banco os registros que se repetem vazios nos últimos 3 meses nos campos:
      campo_a
      campo_b
       
      vazios (null).
       
      Podem me ajudar?
    • By arthursanno
      Possuo a seguinte tabela
      CREATE TABLE IF NOT EXISTS `pool` ( `id` int(11) NOT NULL AUTO_INCREMENT, `idPai` int(11) NOT NULL, `nome` varchar(100) NOT NULL, PRIMARY KEY (`idPool`) ) ENGINE=MyISAM AUTO_INCREMENT=7 DEFAULT CHARSET=latin1; INSERT INTO `pool` (`id`, `idPai`, `nome`) VALUES (1, 0, 'José'), (2, 1, 'Maria'), (3, 1, 'Carlos'), (4, 2, 'Renta'), (5, 2, 'Pedro'), (6, 3, 'Gustavo'); No caso desse diagrama:
      1 :: 2 :::: 4 :::: 5 :: 3 :::: 6 Quero fazer uma consulta SQL nessa tabela cujo me retorne o primeiro registros que NÃO possui 2 filhos. (no caso do diagrama seria o registro 3... e ao acrescentar mais um filho de 3, a consulta ia retornar o registro 4 agora)
       
      Não sei se tenho que fazer consultas dentro de consultas. Preciso de orientação pra continuar o caminho do estudo.
    • By arthursanno
      Usando PHP e MySQL, estou tentando elaborar um código de inserção Multi Nível Binário (máximo 2 filhos pra cada pai). A inserção é sem escolher o pai de forma manual. O código tem que localizar o primeiro registro que não possui 2 filhos e inserir o novo registro ali. O desenho final, será uma pirâmide multi nível de 2 em 2.
      Sou iniciante em PHP/MySQL e isso é parte de um estudo (curso), então necessito de apoio para:
      Saber por onde começar a montar essa lógica; Um exemplo de SQL para buscar e inserir nesse formato que descrevi. Obrigado.
    • By landerbadi
      Olá pessoal
       
      Tenho uma tabela mysql chamada “poesias” com os seguintes campos (id,autor,poesia) e uma outra tabela chamada “palavras” com os seguintes campos (id,palavra,ocorrencias).
       
      Na tabela poesias eu cadastrei uma serie de poesias, e na tabela palavras eu cadastrei uma lista de palavras.
       
      Eu preciso fazer com que o php pegue as palavras cadastradas na tabela palavra e grave no campo ocorrências as quantidades de vezes que determinada palavra aparece na tabela poesias.
       
      Alguém sabe como fazer isso?
       
    • By TeixeiraRamos
      Por favor,
      Tenho uma Procedure que facilitará muito a inserção da "data_ano_liturgico" e os respectivos  "dias_semanas "
      O resultado seria preencher o campo "data_ano_liturgico" iniciando em 2021-11-21 até 2022-12-31 com os respectivos dias da semana, como já informei. 
      Editando a procedure:
      tem em:
      Nome da rotina: adicionar_data
      Tipo:  PROCEDURE
      Parâmetros :  Direção: IN , Nome: data_inicio, Tipo: DATE
                                               IN,, Nome: Intervalo, Tipo: INT
      BEGIN DECLARE var_data DATE; DECLARE var_dia VARCHAR(50); DECLARE contador INT DEFAULT 0; SET var_data = data_inicial; SET var_dia = DAYNAME(data_inicial); WHILE contador < intervalo DO INSERT INTO tb_ano_liturgico(data_ano_liturgico, dias_semanas) VALUES (var_data, var_dia); SET contador = contador + 1; SET var_data = DATE_ADD(data_inicial, INTERVAL contador DAY); SET var_dia = DAYNAME(var_data); END WHILE; END $$ DELIMITER ; Call adicionar_datas(‘2021-11-21’, 399); Qual o erro que apresenta:
       
      Não sei onde estou errando.
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.