docker galera mysql,Docker 单机测试 MariaDB Galera Cluster

最近工作有mysql集群的需要,做个学习记录。

创建网桥

作用:容器可以直接通过容器名称通信,不用设置IP。

docker network create mgc

目录、配置文件初始化

mkdir -p /opt/mgc/config /opt/mgc/data01 /opt/mgc/data02 /opt/mgc/data03

chown -R 1001:1001 /opt/mgc

cat <

[mysqld]

slow_query_log = on #开启慢查询日志

slow_launch_time = 1 #慢查询阈值

slow_query_log_file = mysql-slow.log #慢查询日志

innodb_buffer_pool_size = 256M #引擎缓存大小

innodb_file_per_table = 1 #表空间独立存储

max_connections = 500 #允许最大连接数

max_connect_errors = 1000 #允许最多链接错误次数

group_concat_max_len = 204800 #允许的最大长度

eof

节点1

docker run -itd --name mgc01 \

--hostname mgc01 \

--network mgc \

-p 3306:3306 \

-v /opt/mgc/config/my.cnf:/opt/bitnami/mariadb/conf/my_custom.cnf \

-v /opt/mgc/data01:/bitnami/mariadb \

-e MARIADB_GALERA_CLUSTER_BOOTSTRAP=yes \

-e MARIADB_GALERA_CLUSTER_ADDRESS=gcomm://mgc01,mgc02,mgc03 \

-e MARIADB_GALERA_MARIABACKUP_USER=mariabackup \

-e MARIADB_GALERA_MARIABACKUP_PASSWORD=mariabackup \

-e MARIADB_ROOT_PASSWORD=123456 \

-e MARIADB_REPLICATION_USER=replication \

-e MARIADB_REPLICATION_PASSWORD=replication \

--restart always bitnami/mariadb-galera

节点2

docker run -itd --name mgc02 \

--hostname mgc02 \

--network mgc \

-p 3307:3306 \

-v /opt/mgc/config/my.cnf:/opt/bitnami/mariadb/conf/my_custom.cnf \

-v /opt/mgc/data02:/bitnami/mariadb \

-e MARIADB_GALERA_CLUSTER_ADDRESS=gcomm://mgc01,mgc02,mgc03 \

-e MARIADB_GALERA_MARIABACKUP_USER=mariabackup \

-e MARIADB_GALERA_MARIABACKUP_PASSWORD=mariabackup \

-e MARIADB_ROOT_PASSWORD=123456 \

-e MARIADB_REPLICATION_USER=replication \

-e MARIADB_REPLICATION_PASSWORD=replication \

--restart always bitnami/mariadb-galera

节点3

docker run -itd --name mgc03 \

--hostname mgc03 \

--network mgc \

-p 3308:3306 \

-v /opt/mgc/config/my.cnf:/opt/bitnami/mariadb/conf/my_custom.cnf \

-v /opt/mgc/data03:/bitnami/mariadb \

-e MARIADB_GALERA_CLUSTER_ADDRESS=gcomm://mgc01,mgc02,mgc03 \

-e MARIADB_GALERA_MARIABACKUP_USER=mariabackup \

-e MARIADB_GALERA_MARIABACKUP_PASSWORD=mariabackup \

-e MARIADB_ROOT_PASSWORD=123456 \

-e MARIADB_REPLICATION_USER=replication \

-e MARIADB_REPLICATION_PASSWORD=replication \

--restart always bitnami/mariadb-galera

查看集群状态

任意节点登录

这里设置的密码是123456,创建容器时传入参数MARIADB_ROOT_PASSWORD指定。

docker exec -it mgc01 mysql -uroot -p

mysql执行下面的语句。

SHOW STATUS LIKE 'wsrep_cluster%';

验证同步效果

任意节点导入SQL,或者创建库、表,其它节点能查询到相同的数据即可。

删除也是一样的。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值