环境
OS:Centos 7.3
DB version: mysql Ver 15.1 Distrib 5.5.56-MariaDB, for Linux (x86_64) using readline 5.1
host1(master): 172.16.143.171
host2(slave): 172.16.143.172
安装
两个节点都执行下面的步骤
1 | yum install mariadb-server -y |
执行db安全选项
1 | mysql_secure_installation |
master节点配置
在/etc/my.cnf文件的[mysqld]中添加如下内容
1 | server-id=1 |
重启db
1 | systemctl restart mariadb |
1 | mysql -u root -p |
如果 master 中已经存在需要复制的数据,则需要dump出来,然后在slave上重放
1 | mysql -u root -p |
1 | mysqldump -u root -p --databases [database-1] [database-2] ... > /root/db_dump.sql |
slave节点配置
如果master节点上dump了数据,则需要执行下面的步骤进行重放。
1 | scp root@172.16.143.171:/root/db_dump.sql /root/db_dump.sql |
在/etc/my.cnf文件的[mysqld]中添加如下内容
1 | server-id=2 |
重启db
1 | systemctl restart mariadb |
1 | mysql -u root -p |
上面命令中MASTER_LOG_FILE 和 MASTER_LOG_POS 需要根据master节点中1
2
3
4
5
```bash
START SLAVE;
SHOW SLAVE STATUS\G
测试
在master节点中创建db,也可以在slave节点中看到。
双向复制
上面的配置实现了host1 –> host2 的复制关系,如需要实现双向复制,只需要按照上面的步骤再配置从 host2 –> host1 的复制关机即可。
另外在host1的/ect/my.cnf中添加如下内容
1 | auto-increment-increment = 2 |
在host2的/ect/my.cnf中添加如下内容
1 | auto-increment-increment = 2 |