Criação de banco de dados MySQL replicação
É sempre sobre dados. Qual é a utilização de qualquer sistema sem os dados que depende?
Criação de uma replicação de banco de dados é um dos muitos passos que devem ser tomadas a fim de preservar os dados, evitando qualquer perda e recuperação de desastres tornando mais fácil.
Felizmente, é fácil com o MySQL. Então vamos supor que temos dois servidores rodando MySQL, um chamado host1 e host2 outros.
Replicação pode ser mestre-mestre ou mestre-escravo. Com uma replicação mestre-escravo, o escravo sempre replica o que o banco de dados mestre é execução. Em master-mestre replicação, dois bancos de dados sincronizar uns com os outros.
Para os fins deste tutorial, um mestre-escravo (aqui host1 e host2 respectivamente) cenário é examinado.
Primeiro de tudo, abra o arquivo de configuração do mysql no host1 (geralmente encontrado em / etc / my.cnf no linux e c: \ windows \ my.ini no Windows), e descomentar (remover o hash) a seguinte linha:
# Skip-networking
Em segundo lugar, você precisa especificar o arquivo onde o mestre (host1) deve registrar (gravar) as consultas é a execução. Isso permitirá que o escravo (host2) para ler essas consultas e executá-los também. Como tal, adicione uma linha como:
log-bin = / caminho / para / mysql-bin.log
onde o valor acima é o caminho para o arquivo onde o MySQL deve fazer o registro. Você pode muito bem criar um diretório separado ou use o padrão diretório de instalação do mysql (como C: \ Arquivos de programas \ mysql \ no Windows ou / var / lib / mysql no linux)
Então, você precisa especificar o nome do banco de dados em questão. Então, se você estiver configurando a replicação de um dos seus bancos de dados MySQL chamado 'work_data', então, esta é a linha que você precisa para adicionar à sua configuração MySQL:
binlog-do-db = work_data
Finalmente, você precisa especificar um ID do servidor, que diz que este é o servidor mestre
server-id = 1
Salve o arquivo de configuração e sair.
Agora você precisa dar a permissão host2 para replicar os dados. Como tal, uma consulta MySQL precisa ser executado no master.
Assim por diante host1, acesse o prompt do MySQL (mysql-u root-pyour_root_password) (ou PHPMyAdmin, etc ... o que você usa), e emitir a seguinte declaração:
conceder slave de replicação em *.* para ''@'%' nome de usuário identificado por' password ';
Certifique-se de substituir o nome de usuário e senha com uma credencial de sua escolha. Mantenha as aspas simples no entanto.
O sinal% significa que o escravo pode se conectar de qualquer host. Se você quer que ele seja mais seguro, que substitua com host2 (do escravo hostname).
Depois de todos os acima é feito, reinicie o serviço MySQL (service mysqld restart (linux) ou, net stop mysql, net start mysql (no Windows)).
Se o banco de dados anteriores tinha, certifique-se despejá-lo e carregá-lo no escravo antes de fazer qualquer um dos acima. Extraindo dados é fácil e pode ser feito por cd'ing para o diretório bin MySQL e emissão:
mysqldump-Q-u root-pyour_root_password databasename> database_dump.sql
(Substitua a palavra-passe e nome do banco com o login correto). O banco de dados inteiro será agora em um arquivo chamado database_dump.sql
Para importá-lo em host2 cd, para o diretório bin mysql e execute:
mysql-u root-databasename pyour_root_password </ caminho / para / o / arquivo / database_dump.sql
O arquivo de configuração do MySQL em host2 deve ter as seguintes linhas:
server-id = 2
master-host = host1
mestre do usuário-username =
mestre senha password =
master-port = 3306
host1 onde é o mestre do hostname / IP, nome de usuário e e senha são as credenciais que você usou ao concederem o acesso de replicação alguns passos acima. 3306 é o MySQL está em execução no porto (que é o padrão)
Em seguida, iniciar o processo de escravo na host2 emitindo no prompt do MySQL:
começar a escravo;
Para fazer a replicação se está trabalhando, a questão seguinte consulta SQL em host1:
SHOW SLAVE STATUS \ G
(Slave_SQL_Running e Slave_IO_Running deve reportar 'Sim')
Boa sorte

Grande, apenas o que eu precisava. Agora ... É possível definir vários dispositivos mestre para replicar em apenas um servidor Slave?. Estou perguntando isso porque estou tentando configurar uma topologia Active-Standby em que, se um dos Mestres falha poderia ser substituir temporariamente pelo servidor Slave. Obrigado
Caro Robert,
O que sobre a execução de vários serviços MySQL no host escravo? Cada uma delas seria executado em uma porta diferente e seria dependente de um mestre diferente.
Thats Genius! , Embora eu vou ter que mudar a maneira como os usuários se conecta ao banco de dados a fim de fazer uma transição tranqüila em caso de um fracasso.
Você pode configurar um serviço DNS local, e fazer os usuários utilizam um nome de host (em casos normais apontando para o mestre) para acessar o seu serviço.
Em caso de falha, basta alterar o registro DNS de que hostname para apontar para a máquina slave.
Usuários não notaria a mudança se você alterar o IP que resolve hostname para.
[...] Torna possível adicionar ou remover nós do cluster sem a necessidade de reconfigurar clients.Tips e Truques Criação de banco de dados MySQL replicationSo vamos supor que temos dois servidores rodando MySQL, um chamado host1 e host2 outros. ... Se você [...]
Tenho lido alguns dos artigos em seu site agora, e eu realmente gosto de seu estilo de blogging. Eu adicionei aos meus lista de sites favoritos do blog e será a verificação de volta em breve. Veja o meu site, bem e deixe-me saber o que pensa.
suppliments naturais