Perguntas Frequentes
Como configurar o Mysql Replication Master-Slave
Primeiramente entre no seguinte diretório:
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 = MariaDB baseurl = http: //yum.mariadb.org/10.3/centos7-amd64 gpgkey=https: //yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck= 1 |
Primeiro vamos instalar o MariaDB em dois servidores para podermos usar o modelo Master-Slave:
Então inicie e habilite o serviço do MariaDB:
Verifique se o serviço está rodando corretamente com o comando:
Para acessar seu Banco de Dados:
Agora vamos começar a configurar nossos servidores para a Replicação
Desabilite seu firewall e seu SELINUX:
Agora vamos configurar o /etc/hosts das máquinas:
echo "seu IP do master mariadb-replication-01 mariadb-replication" >> /etc/hosts echo "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:
E coloque as seguintes informações abaixo de mysqld para habilitar o log binário que possibilitará a replicação dos dados:
server-id = 1 bind-address = 0.0 . 0.0 log_bin = /var/log/mariadb/mariadb-bin.log binlog-ignore-db = "mysql" |
Agora de um restart no MariaDB para aplicar as configurações acima:
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: mysql 1 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:
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: 0 Master_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: 1 1 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 |