--[On Master Node]
--Setting the Replication Master Configuration (/etc/my.cnf)
[mysqld]
log_bin = /var/lib/mysql/mysql-bin.log
server-id = 1
max_binlog_size = 100M
# Rebound MySQL Server
[root@mysql-master ~]# systemctl restart mysqld
-- Creating a User for Replication
mysql> CREATE USER 'repl'@'192.168.56.%' IDENTIFIED BY 'Slavepass@999';
mysql> GRANT REPLICATION SLAVE ON *.* to 'repl'@'192.168.56.%';
mysql> FLUSH TABLES WITH READ LOCK;
mysql> show master status;
+------------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000001 | 533 | | | |
+------------------+----------+--------------+------------------+-------------------+
1 row in set (0.01 sec)
-- Creating a Data Snapshot using mysqldump
[root@mysql-master ~]# mysqldump -uroot -p --all-databases --master-data > /var/lib/mysql/dbdump.db
mysql> UNLOCK TABLES;
-- transfer dump file
[root@mysql-master ~]# scp dbdump.db mysql-slave:/var/lib/mysql
--[On Slave Node]
-- Settings the Replication Slave Configuration (/etc/my.cnf)
[mysqld]
server-id = 2
log_bin = /var/lib/mysql/mysql-bin.log
max_binlog_size = 100M
log_slave_updates = 0
read_only = 1
--> restart mysqld
[root@mysql-slave ~]# systemctl restart mysqld
[root@mysql-slave ~]# mysql -uroot -p < /var/lib/mysql/dbdump.db
[root@mysql-slave ~]# mysql -uroot -p
mysql> CHANGE MASTER TO
-> MASTER_HOST='192.168.56.101',
-> MASTER_USER='repl',
-> MASTER_PASSWORD='Slavepass@999',
-> MASTER_LOG_FILE='mysql-bin.000001',
-> MASTER_LOG_POS=533;
mysql> start slave;