+++
title = "Configure o Source Database (origem)"
weight = 35
+++
### Rode a tarefa DMS Replication Task com Change Data Capture (CDC)
Para garantir mínimo impacto na migração do banco de dados, nós usaremos replicação contínua das mudanças (também conhecida como **Change Data Capture (CDC)**) a partir do banco de dados origem. Para mais informações sobre CDC e o suporte do CDC pelo **AWS DMS** veja este artigo.
#### Habilite binary log (log binário) no banco de dados origem
Para a replicação contínua do **AWS DMS** a partir do MySQL database, você precisará habilitar o binary log e mudar algumas configurações no banco de dados origem.
1. Login no servidor **Source Environment Database** (origem)
Para quem estiver fazendo **o lab por conta própria** - a informação necessária para acessar o banco de dados está descrita na seção **Output** do template CloudFormation **ApplicationMigrationWorkshop** .

Para quem estiver participando de um **Evento AWS** - a informação necessária para acessar o banco de dados está descrita nas seções **Database IP**, **Database Username** e **Database SSH Key** do Team Dashboard.

Caso não saiba como acessar o servidor via SSH, cheque:
- Para usuários de Microsoft Windows veja este artigo.
- Para usuários de Mac OS veja este artigo.
2. Dê privilégios adicionais para o usuário do banco de dados chamado **wordpress-user**
Rode os seguintes comandos no servidor de banco de dados:
```
sudo mysql -u root -pAWSRocksSince2006
GRANT REPLICATION CLIENT ON *.* to 'wordpress-user';
GRANT REPLICATION SLAVE ON *.* to 'wordpress-user';
GRANT SUPER ON *.* to 'wordpress-user';
exit
```
3. Crie uma pasta para os **bin logs**
Rode os seguintes comandos no servidor de banco de dados:
```
sudo su -
mkdir /var/lib/mysql/binlogs
chown -R mysql:mysql /var/lib/mysql/binlogs
exit
```
Mais informações sobre binary log podem ser encontradas na documentação do MySQL.
4. Crie e modifique o arquivo **/etc/mysql/my.cnf**
Rode os seguintes comandos no servidor para editar o arquivo:
```
sudo su -
cp /etc/mysql/mysql.conf.d/mysqld.cnf /etc/mysql/my.cnf
chown -R mysql:mysql /etc/mysql/my.cnf
nano /etc/mysql/my.cnf
```
Então adicione a seguinte informação na seção **[mysqld]**, salve o arquivo e saia do nano:
```
server_id=1
log-bin=/var/lib/mysql/binlogs/log
binlog_format=ROW
expire_logs_days=1
binlog_checksum=NONE
binlog_row_image=FULL
log_slave_updates=TRUE
performance_schema=ON
```
5. **Reinicie** o serviço MySQL para aplicar as mudanças
Na console, rode o seguinte comando para aplicar as mudanças:
```
sudo service mysql restart
```
{{% notice warning %}}
Para aplicar as alterações é necessário reiniciar o mysql service. Isso irá parar o banco de dados por alguns momentos.
{{% /notice %}}
6. **Teste** as mudanças
Certifique que as alterações no **/etc/mysql/my.cnf** foram efetuadas rodando os comandos:
```
sudo mysql -u root -pAWSRocksSince2006
select variable_value as "BINARY LOGGING STATUS (log-bin) :: "
from performance_schema.global_variables where variable_name='log_bin';
select variable_value as "BINARY LOG FORMAT (binlog_format) :: "
from performance_schema.global_variables where variable_name='binlog_format';
exit
```
O output deverá mostrar **BINARY LOGGIN STATUS** configurado para **ON**, como na imagem abaixo:

Caso esteja tudo bem você pode **exit** (sair) do SSH, em caso de problemas: cheque o **/var/log/mysqld.log** para erros.