Quando configurei originalmente minha replicação mestre para mestre, usei:
binlog-ignore-db=mysql
e foram sincronizando as contas de usuário e concessões manualmente. Isto é simplesmente como foi feito no tutorial que eu estava usando na época. Mas existe alguma razão para eu não remover essa linha e permitir que o mysql
próprio banco de dados seja replicado também?
Se assim for: Antes de fazer a alteração, além de garantir que todas as concessões sejam iguais em ambas (ou melhor, que todo o banco de dados mysql é idêntico), há mais alguma coisa que eu deva verificar ou estar ciente?
apt-get upgrade
(na verdade, o script mysql-server .deb postinst) executaALTER TABLE user
instruções que não podem ser replicadas.Respostas:
É inteiramente possível conceder a você permissões de mysql sem conhecer os comandos SQL GRANT .
Exemplo: Aqui está para criar seu próprio usuário com privilégios totais usando o SQL GRANT de qualquer lugar chamado superdba com uma senha do ClarkKent:
Aqui está como você pode fazer isso sem o comando GRANT:
Primeiro de tudo, aqui está o mysql.user for MySQL 5.1.51
Basta executar estes comandos SQL:
Esse INSERT é uma instrução SQL legal que pode pousar em um log binário. Deseja que alguém execute isso e tenha uma senha visível viajando pela rede? sentar em um log binário no mestre? sentar em um relé log no escravo?
Tendo esta diretiva
impede a concessão de permissões mysql usando esse SQL. No entanto, os GRANTs não podem ser parados dessa maneira. Portanto, certifique-se de realizar concessões como esta:
para impedir que os GRANTs atravessem de mestre para escravo.
fonte
Não tive problemas com a replicação do banco de dados mysql, mas, novamente, minha infraestrutura empresta um nível adicional de segurança com firewalls e dispositivos proxy, onde é impossível para alguém que não seja o pessoal da infraestrutura se conectar a qualquer uma das portas que o MySQL usa. . Ele adiciona um nível extra de conveniência, sabendo que você só precisa conceder permissões uma vez e replicá-lo. Quando tudo se resume a isso, desde que você tenha configurado corretamente o host para não expô-lo a ninguém além do pretendido (por exemplo, você, o escravo, etc ...), você deve ficar bem.
Se você está muito preocupado com o homem nas interceptações intermediárias, sempre há a opção de enviar replicação pelo SSL .
fonte