• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

GreatSQL-Docker: GreatSQL Docker镜像集

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

GreatSQL-Docker

开源软件地址:

https://gitee.com/GreatSQL/GreatSQL-Docker

开源软件介绍:

GreatSQL-Docker


介绍

GreatSQL软件相关Docker镜像集。

Dockerfiles可用于自定义和构建docker映像。戳此阅读更多关于Dockerfiles的文档

如何构建和运行GreatSQL软件,请参阅各个目录。

我们非常欢迎和鼓励社区用户提出改进建议或贡献代码、想法,以及其他任何可以帮助改进项目的做法。

如果您发现任何GreatSQL-Docker项目相关的问题、bug,都可以戳此提交issue,我们将尽快处理。

快速使用

支持哪些tag

如何使用GreatSQL镜像

例如:

$ docker run -d \--name mgr1 --hostname=mgr1 \-e MYSQL_ALLOW_EMPTY_PASSWORD=1 \-e MYSQL_INIT_MGR=1 \greatsql/greatsql

--name mgr1,设定容器名称--hostname=mgr1,设定容器主机名MYSQL_ALLOW_EMPTY_PASSWORD=1 设定容器中的MySQL root用户是否采用空密码greatsql/greatsql,指定容器使用的镜像名

连接(容器中的)MySQL

运行下面的命令进入容器

$ docker exec -it mgr1 bash

可以使用mysql 或 mysqladmin等客户端工具

[root@mgr1 /]# mysqladmin pingmysqld is alive[root@mgr1 /]# mysqladmin vermysqladmin  Ver 8.0.25 for Linux on x86_64 (MySQL Community Server - GPL)Copyright (c) 2018-2021 GreatOpenSource and/or its affiliatesCopyright (c) 2009-2021 Percona LLC and/or its affiliatesCopyright (c) 2000, 2021, Oracle and/or its affiliates.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Server version          8.0.25-15Protocol version    10Connection        Localhost via UNIX socketUNIX socket        /data/GreatSQL/mysql.sockUptime:            2 hours 56 min 47 secThreads: 70  Questions: 68  Slow queries: 0  Opens: 155  Flush tables: 3  Open tables: 72  Queries per second avg: 0.006[root@mgr1 /]# mysqlWelcome to the MySQL monitor.  Commands end with ; or \g....[root@GreatSQL][(none)]>select version();+-----------+| version() |+-----------+| 8.0.25-15 |+-----------+1 row in set (0.00 sec)

如何通过 docker-compose 使用GreatSQL镜像

下面是一个docker-compose的配置文件参考 /data/docker/mysql.yml:

version: '2'services:  mgr1:    image: greatsql/greatsql    container_name: mgr1    hostname: mgr1    network_mode: bridge    restart: unless-stopped    environment:      TZ: Asia/Shanghai      MYSQL_ALLOW_EMPTY_PASSWORD: 1      MYSQL_INIT_MGR: 1

运行 docker-compose -f /data/docker/mysql.yml up -d 即可创建一个新容器。运行下面的命令查看容器运行状态:

$ docker-compose -f /data/docker/mysql.yml ps

运行下面的命令进入容器:

$ docker exec -it mgr1 bash

如何通过docker-compose构建MGR集群

下面是一个docker-compose的配置文件参考 /data/docker/mgr.yml:

version: '2'services:  mgr1:    image: greatsql/greatsql    container_name: mgr1    hostname: mgr1    network_mode: bridge    restart: unless-stopped    environment:      TZ: Asia/Shanghai      MYSQL_ALLOW_EMPTY_PASSWORD: 1      MYSQL_INIT_MGR: 1      MYSQL_MGR_LOCAL: '172.17.0.2:33061'      MYSQL_MGR_SEEDS: '172.17.0.2:33061,172.17.0.3:33061'    extra_hosts:      - "mgr1:172.17.0.2"      - "mgr2:172.17.0.3"  mgr2:    image: greatsql/greatsql    container_name: mgr2    hostname: mgr2    network_mode: bridge    restart: unless-stopped    depends_on:      - "mgr1"    environment:      TZ: Asia/Shanghai      MYSQL_ALLOW_EMPTY_PASSWORD: 1      MYSQL_INIT_MGR: 1      MYSQL_MGR_LOCAL: '172.17.0.3:33061'      MYSQL_MGR_SEEDS: '172.17.0.2:33061,172.17.0.3:33061'    extra_hosts:      - "mgr1:172.17.0.2"      - "mgr2:172.17.0.3"

启动所有容器:

$ docker-compse -f /data/docker/mgr.yml up -d

进入第一个容器,将其设置为MGR的PRIMARY节点

$ docker exec -it mgr1 bash[root@mgr1 /]# mysql...[root@GreatSQL][(none)]> SET GLOBAL group_replication_bootstrap_group=ON;[root@GreatSQL][(none)]> start group_replication;[root@GreatSQL][(none)]> select * from performance_schema.replication_group_members;+---------------------------+--------------------------------------+-------------+-------------+--------------+-------------+----------------+| CHANNEL_NAME              | MEMBER_ID                            | MEMBER_HOST | MEMBER_PORT | MEMBER_STATE | MEMBER_ROLE | MEMBER_VERSION |+---------------------------+--------------------------------------+-------------+-------------+--------------+-------------+----------------+| group_replication_applier | 202eb70c-e13a-11eb-b390-0242ac110002 | mgr1        |        3306 | ONLINE       | PRIMARY     | 8.0.25         |+---------------------------+--------------------------------------+-------------+-------------+--------------+-------------+----------------+1 rows in set (0.00 sec)

进入第二个容器,将其设置为SECONDARY节点

$ docker exec -it mgr2 bash[root@mgr2 /]# mysql...[root@GreatSQL][(none)]> start group_replication;[root@GreatSQL][(none)]>select * from performance_schema.replication_group_members;+---------------------------+--------------------------------------+-------------+-------------+--------------+-------------+----------------+| CHANNEL_NAME              | MEMBER_ID                            | MEMBER_HOST | MEMBER_PORT | MEMBER_STATE | MEMBER_ROLE | MEMBER_VERSION |+---------------------------+--------------------------------------+-------------+-------------+--------------+-------------+----------------+| group_replication_applier | 202eb70c-e13a-11eb-b390-0242ac110002 | mgr1        |        3306 | ONLINE       | PRIMARY     | 8.0.25         || group_replication_applier | 20851760-e13a-11eb-91e1-0242ac110003 | mgr2        |        3306 | ONLINE       | SECONDARY   | 8.0.25         |+---------------------------+--------------------------------------+-------------+-------------+--------------+-------------+----------------+2 rows in set (0.00 sec)

看起来这就好了。

环境变量/参数介绍

  • MYSQL_ROOT_PASSWORD设置MySQL root账号的密码。如果下面指定了MYSQL_ALLOW_EMPTY_PASSWORD=1,则本参数无效。

  • MYSQL_DATABASE是否初始化一个新的数据库。

  • MYSQL_ALLOW_EMPTY_PASSWORD是否设置MySQL root账号使用空密码,因为安全原因,不推荐这么做。

  • MYSQL_RANDOM_ROOT_PASSWORD设置MySQL root账号的密码采用随机生成方式。

  • MYSQL_IBP设置innodb_buffer_pool_size,默认值:128M。

  • MYSQL_MGR_NAME设置group_replication_group_name,默认值:"aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaa1"。

  • MYSQL_MGR_LOCAL设置 group_replication_local_address,默认值:"172.17.0.2:33061"。

  • MYSQL_MGR_SEEDS设置 group_replication_group_seeds,默认值:"172.17.0.2:33061,172.17.0.3:33061"。

  • MYSQL_INIT_MGR是否初始化MGR相关设置,默认值:0(否)。如果设置为1(是),则会创建MGR服务所需账号,并设定运行 CHANGE MASTER TO 设置好MGR复制通道。

  • MYSQL_MGR_USER设置MGR服务所需账号,默认值:repl。

  • MYSQL_MGR_USER_PWD设置MGR服务所需账号的密码,默认值:repl4MGR。

联系我们

扫码关注微信公众号

输入图片说明


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap