Perguntas Frequentes

Configurando Mysql Replication Master - Slave
Última atualização 4 ano(s) atrás

Como configurar o Mysql Replication Master-Slave

Primeiramente entre no seguinte diretório:

image

Então coloque o seguinte conteúdo nele no MariaDB.repo:

# MariaDB 10.3 CentOS repository list - created 2018-05-25 19:02 UTC#http://downloads.mariadb.org/mariadb/repositories/[mariadb]name = MariaDBbaseurl = http://yum.mariadb.org/10.3/centos7-amd64gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDBgpgcheck=1

Primeiro vamos instalar o MariaDB em dois servidores para podermos usar o modelo Master-Slave:

image

Então inicie e habilite o serviço do MariaDB:

image

Verifique se o serviço está rodando corretamente com o comando:

image

Para acessar seu Banco de Dados:

image

Agora vamos começar a configurar nossos servidores para a Replicação

Desabilite seu firewall e seu SELINUX:

image
image
image

Agora vamos configurar o /etc/hosts das máquinas:

echo "seu IP do master mariadb-replication-01 mariadb-replication" >> /etc/hostsecho "seu IP do slave mariadb-replication-02" >> /etc/hosts

Configurando nosso master

Setando seu hostname:

hostnamectl set-hostname (o hostname que você escolheu)

Agora acesse o seguinte arquivo:

image

E coloque as seguintes informações abaixo de mysqld para habilitar o log binário que possibilitará a replicação dos dados:

server-id = 1bind-address = 0.0.0.0log_bin = /var/log/mariadb/mariadb-bin.logbinlog-ignore-db = "mysql"

Agora de um restart no MariaDB para aplicar as configurações acima:

image

Agora vamos dar permissão de replicação para o usuário slave:

MariaDB [(none)]> GRANT REPLICATION SLAVE ON *.* TO 'replication_user'@'mariadb-replication-02' IDENTIFIED BY 'replication_pass'; MariaDB [(none)]> FLUSH PRIVILEGES; MariaDB [(none)]> FLUSH TABLES WITH READ LOCK; MariaDB [(none)]> SHOW MASTER STATUS \G;*************************** 1. row *************************** File: mariadb-bin.000001 Position: 505 Binlog_Do_DB:Binlog_Ignore_DB: mysql1 row in set (0.00 sec) ERROR: No query specified

Use os mesmos passos para configurar o slave, sem a parte das permissões.

Configurando o Slave para seu conectar no Master

Acesse seu banco:

image

E fazeremos as seguintes configurações:

MariaDB [(none)]> STOP SLAVE; MariaDB [(none)]> CHANGE MASTER TO MASTER_HOST='mariadb-replication-01', MASTER_USER='replication_user', MASTER_PASSWORD='replication_pass', MASTER_LOG_FILE='mariadb-bin.000001', MASTER_LOG_POS=505; MariaDB [(none)]> START SLAVE; MariaDB [(none)]> SHOW SLAVE STATUS \G;*************************** 1. row *************************** Slave_IO_State: Waiting for master to send event Master_Host: mariadb-replication-01 Master_User: replication_user Master_Port: 3306 Connect_Retry: 60 Master_Log_File: mariadb-bin.000001 Read_Master_Log_Pos: 505 Relay_Log_File: mariadb-relay-bin.000002 Relay_Log_Pos: 531 Relay_Master_Log_File: mariadb-bin.000001 Slave_IO_Running: Yes Slave_SQL_Running: Yes Replicate_Do_DB: Replicate_Ignore_DB: Replicate_Do_Table: Replicate_Ignore_Table: Replicate_Wild_Do_Table: Replicate_Wild_Ignore_Table: Last_Errno: 0 Last_Error: Skip_Counter: 0 Exec_Master_Log_Pos: 505 Relay_Log_Space: 827 Until_Condition: None Until_Log_File: Until_Log_Pos: 0 Master_SSL_Allowed: No Master_SSL_CA_File: Master_SSL_CA_Path: Master_SSL_Cert: Master_SSL_Cipher: Master_SSL_Key: Seconds_Behind_Master: 0Master_SSL_Verify_Server_Cert: No Last_IO_Errno: 0 Last_IO_Error: Last_SQL_Errno: 0 Last_SQL_Error: Replicate_Ignore_Server_Ids: Master_Server_Id: 11 row in set (0.00 sec) ERROR: No query specified

Processo para Dump

No seu servidor master saia do Banco de Dados e execute seguinte comando;

mysqldump -u root -p all-databases --master-data >> nomedodumo.sql

Após isso deve-se copiar o arquivo de dump para o servidor slave.

E então importe o dump para seu banco slave:

mysql -u root -p


Por favor, aguarde!

Por favor aguarde... vai levar um segundo!