--[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;

    
    

 

 

 

 

arrow
arrow
    文章標籤
    MySQL Replication
    全站熱搜

    DanBrother 發表在 痞客邦 留言(0) 人氣()