Docker应用:Mariadb数据库一主三从复制
接上一篇文章-Docker应用:容器间通信与Mariadb数据库主从复制,笔者再加一个数据库来完成Mariadb数据库一主多从复制,为后面的数据库中间件做准备!
因为多次配置,就不详细阐述了,细节请参考以前的文章。
1、为了区分,修改mariadb-slave容器为mariadb-slave1
docker rename mariadb-slave mariadb-slave1
2、再拉起两个个容器mariadb-slave
docker run -itd --name mariadb-slave2 -p 3308:3306 -e MYSQL_ROOT_PASSWORD=123456 mariadb
运行docker network inspect bridge查看三个mariadb容器的IP地址:
mariadb-master的IP地址为:172.17.0.2/16
mariadb-slave1的IP地址为:172.17.0.3/16
mariadb-slave2的IP地址为:172.17.0.4/16
mariadb-slave0的IP地址为:172.17.0.5/16
3、mariadb-master中修改sync复制用户的权限,需要赋予172.17.0.%这个网段可用。
grant replication slave on *.* to 'sync'@'172.17.0.%' identified by 'sync';
flush privileges;
4、在mariadb-slave10、mariadb-slave1、mariadb-slave2上定位指向到master
CHANGE MASTER TO master_host='172.17.0.2', master_port=3306,master_user='sync',master_password='sync',master_use_gtid=current_pos;
然后开启从机:start slave;
查看从机的状态:show slave status \G;
5、进入mariadb-master查看连接的从机slave
show slave hosts;
![](https://img.haomeiwen.com/i24447700/a250aa859bcf3f03.png)