MySQL Replicatie inrichten

Zorg dat je twee sessies open hebt staan op de master. In de ene sessie blokkeer je schrijf-acties naar de database:

mysql> FLUSH TABLES WITH READ LOCK;

In de tweede sessie maak je een dump van je database:

# mysqldump -u username -p database > database.sql

In de eerste sessie haal je de master-gegevens op die je later nodig hebt:

mysql> SHOW MASTER STATUS;
+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.019726 |      616 |              |                  |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)

Schrijf-acties kunnen nu weer toegestaan worden:

mysql> UNLOCK TABLES;

Zorg dat de slave replicatie mag doen:

mysql> CREATE USER 'repl'@'%.example.com' IDENTIFIED BY 'password';
mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%.example.com';

Kopieer nu de dump-file naar de nieuwe slave, en importeer deze:

# scp user@master:/home/user/database.sql .
# mysql -u username -p database < database.sql

Configureer de slave configuratie van MySQL:

mysql> CHANGE MASTER TO \
    MASTER_HOST='master', \
    MASTER_USER='username', \
    MASTER_PASSWORD='password',
    MASTER_LOG_FILE='mysql-bin.019726',
    MASTER_LOG_POS=616;

Controleer de slave configuratie:

mysql> SHOW SLAVE STATUS;