使用 Docker 部署 Mariadb一主两从 |
发表者:admin分类:Devops2023-04-13 17:38:06 阅读[437] |
使用 Docker 部署 Mariadb 一主两从的具体步骤与命令
1. 创建网络
```
docker network create mariadb_network
```
2. 启动主节点
```
docker run -d --name mariadb_master \
-e MYSQL_ROOT_PASSWORD=<master_root_password> \
-e MYSQL_USER=<master_user> \
-e MYSQL_PASSWORD=<master_password> \
-e MYSQL_DATABASE=<master_database> \
--network mariadb_network \
mariadb:latest \
--server-id=1 \
--log-bin=/var/log/mysql/mysql-bin.log \
--binlog-do-db=<master_database>
```
3. 启动从节点1
```
docker run -d --name mariadb_slave1 \
-e MYSQL_ROOT_PASSWORD=<slave1_root_password> \
-e MYSQL_REPLICATION_USER=<replication_user> \
-e MYSQL_REPLICATION_PASSWORD=<replication_password> \
--network mariadb_network \
mariadb:latest \
--server-id=2 \
--log-bin=/var/log/mysql/mysql-bin.log \
--skip-log-slave-updates \
--relay-log=/var/log/mysql/mysql-relay-bin.log \
--log-slave-updates \
--read-only \
--replicate-do-db=<master_database> \
--replicate-ignore-db=mysql
```
4. 启动从节点2
```
docker run -d --name mariadb_slave2 \
-e MYSQL_ROOT_PASSWORD=<slave2_root_password> \
-e MYSQL_REPLICATION_USER=<replication_user> \
-e MYSQL_REPLICATION_PASSWORD=<replication_password> \
--network mariadb_network \
mariadb:latest \
--server-id=3 \
--log-bin=/var/log/mysql/mysql-bin.log \
--skip-log-slave-updates \
--relay-log=/var/log/mysql/mysql-relay-bin.log \
--log-slave-updates \
--read-only \
--replicate-do-db=<master_database> \
--replicate-ignore-db=mysql
```
注意:在上述命令中,需要将 `<master_root_password>`, `<master_user>`, `<master_password>`, `<master_database>`, `<slave1_root_password>`, `<slave2_root_password>`, `<replication_user>` 和 `<replication_password>` 替换为实际的值。
另外,在从节点启动命令中,需要将 `--server-id` 参数设置为一个唯一的值,且与主节点不同。`--replicate-do-db` 参数指定需要复制的数据库名称,`--replicate-ignore-db` 参数指定需要忽略复制的数据库名称。
转载请标明出处【使用 Docker 部署 Mariadb一主两从】。
《www.micoder.cc》
虚拟化云计算,系统运维,安全技术服务.
Tags: | [阅读全文...] |
最新评论