1 Star 0 Fork 13

earl86/GreatSQL-Docker

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
GreatSQL-Build
GreatSQL-Shell-Build
centos7
centos8
openEuler2203
rocky8
rocky9
CHANGELOG.md
README.md
GreatSQL-Shell
GreatSQL
deppkgs
LICENSE
README.md
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

GreatSQL-Shell-Build Docker


简介

本项目用于构建MySQL Shell for GreatSQL编译环境Docker镜像。

适用于[ CentOS7 x86_64 ] / [ CentOS8/rocky8 x86_64/aarch64 ] [ rocky9 x86_64/aarch64 ] [ openEuler2203 x86_64/aarch64 ] 环境,更多环境适配请自行修改Dockerfile及相关脚本中的参数。

基本信息

支持哪些tag

如何使用GreatSQL-Shell-Build

例如:

1. GreatSQL Build Docker镜像构建

$ git clone

centos7:
$ cd GreatSQL-Docker/GreatSQL-Shell-Build/centos7
$ docker build -t greatsql/greatsqlsh_centos7 .

centos8:
$ cd GreatSQL-Docker/GreatSQL-Shell-Build/centos8
$ docker build -t greatsql/greatsqlsh_centos8 .

rocky8:
$ cd GreatSQL-Docker/GreatSQL-Shell-Build/rocky8
$ docker build -t greatsql/greatsqlsh_rocky8 .

rocky9:
$ cd GreatSQL-Docker/GreatSQL-Shell-Build/rocky9
$ docker build -t greatsql/greatsqlsh_rocky9 .


openEuler2203:
$ cd GreatSQL-Docker/GreatSQL-Shell-Build/openEuler2203
$ docker build -t greatsql/greatsqlsh_openeuler2203 .
上述命令会查找当前目录下的 `Dockerfile` 文件,并构建名为 `greatsql/greatsql_centos7/centos8/rocky8` 的Docker镜像。


```shell
$ docker run -itd --hostname greatsqlsh_centos7 --name greatsqlsh_centos7 greatsql/greatsqlsh_centos7 bash
$ docker run -itd --hostname greatsqlsh_centos8 --name greatsqlsh_centos8 greatsql/greatsqlsh_centos8 bash
$ docker run -itd --privileged=true --hostname greatsqlsh_rocky8 --name greatsqlsh_rocky8 greatsql/greatsqlsh_rocky8 bash
$ docker run -itd --privileged=true --hostname greatsqlsh_rocky9 --name greatsqlsh_rocky9 greatsql/greatsqlsh_rocky9 bash
$ docker run -itd --privileged=true --hostname greatsqlsh_openeuler2203 --name greatsqlsh_openeuler2203 greatsql/greatsqlsh_openeuler2203 bash

执行上述命令后,会创建一个GreatSQL-Shell编译环境容器,并在容器中自动完成GreatSQL-Shell编译工作。

在编译过程中,可以执行下面命令查看进度:

$ docker logs greatsqlsh_centos7 | tail -n 20
$ docker logs greatsqlsh_centos8 | tail -n 20
$ docker logs greatsqlsh_rocky8 | tail -n 20
$ docker logs greatsqlsh_rocky9 | tail -n 20
$ docker logs greatsqlsh_openeuler2203 | tail -n 20

如果看到类似下面的结果,就表明二进制包已编译完成

$ docker logs greatsqlsh_centos7 | tail -n 20
0. touch logfile /tmp/greatsqlsh-automake.log

1. downloading sourcecode tarballs and extract
 1.1 downloading sourcecode tarballs ...
 1.2 extract tarballs ...
2. compiling antlr4
3. compiling patchelf
4. compiling protobuf
5. compiling libssh
6. compiling python3.8
7. compiling MySQL Shell for GreatSQL
 7.1 compiling mysqlclient and mysqlxclient and mysql_config_editor
 7.2 compiling MySQL Shell for GreatSQL
8. MySQL Shell for GreatSQL 8.0.32-25 build completed!
 8.1 MySQL Shell for GreatSQL 8.0.32-25 version:
 centos7:
/opt/greatsql-shell-8.0.32-25-Linux-el7-glibc2.17-x86_64/bin/mysqlsh   Ver 8.0.32 for Linux on x86_64 - for MySQL 8.0.32 (Source distribution)

centos8/rocky8:
/opt/greatsql-shell-8.0.32-25-Linux-el8-glibc2.28-x86_64/bin/mysqlsh   Ver 8.0.32 for Linux on x86_64 - for MySQL 8.0.32 (Source distribution)

rocky9:
/opt/greatsql-shell-8.0.32-25-Linux-el9-glibc2.34-x86_64/bin/mysqlsh   Ver 8.0.32 for Linux on x86_64 - for MySQL 8.0.32 (Source distribution)

openeuler2203:
/opt/greatsql-shell-8.0.32-25-Linux-oe2203-glibc2.34-x86_64/bin/mysqlsh   Ver 8.0.32 for Linux on x86_64 - for MySQL 8.0.32 (Source distribution)


 8.2 TARBALL file:
 centos7:
-rw-r--r-- 1 root root 141485395 Mar 12 07:15 /opt/greatsql-shell-8.0.32-25-Linux-el7-glibc2.17-x86_64.tar.gz

centos8/rocky8:
-rw-r--r-- 1 root root 141485395 Feb 21 02:56 /opt/greatsql-shell-8.0.32-25-Linux-el8-glibc2.28-x86_64.tar.xz

rocky9:
-rw-r--r-- 1 root root 141485395 Feb 21 02:56 /opt/greatsql-shell-8.0.32-25-Linux-el9-glibc2.34-x86_64.tar.xz

openeuler2203:
-rw-r--r-- 1 root root 141485395 Feb 21 02:56 /opt/greatsql-shell-8.0.32-25-Linux-oe2203-glibc2.34-x86_64.tar.xz

接下来回退到宿主机,将容器中的二进制包拷贝出来

centos7:
$ docker cp greatsqlsh_centos7:/opt/greatsql-shell-8.0.32-25-Linux-el7-glibc2.17-x86_64.tar.gz /usr/local/

centos8/rocky8:
$ docker cp greatsqlsh_centos8:/opt/greatsql-shell-8.0.32-25-Linux-el8-glibc2.28-x86_64.tar.xz /usr/local/
$ docker cp greatsqlsh_rocky8:/opt/greatsql-shell-8.0.32-25-Linux-el8-glibc2.28-x86_64.tar.xz /usr/local/

rocky9:
$ docker cp greatsqlsh_rocky9:/opt/greatsql-shell-8.0.32-25-Linux-el9-glibc2.34-x86_64.tar.xz /usr/local/

openeuler2203:
$ docker cp greatsqlsh_openeuler2203:/opt/greatsql-shell-8.0.32-25-Linux-oe2203-glibc2.34-x86_64.tar.xz /usr/local/

然后解压缩,就可以在宿主机环境下使用了,例如:

# 测试使用
centos7:
$ /usr/local/greatsql-shell-8.0.32-25-Linux-el7-glibc2.17-x86_64/bin/mysqlsh

centos8/rocky8:
$ /usr/local/greatsql-shell-8.0.32-25-Linux-el8-glibc2.28-x86_64/bin/mysqlsh

rocky9:
$ /usr/local/greatsql-shell-8.0.32-25-Linux-el9-glibc2.34-x86_64/bin/mysqlsh

openeuler2203:
$ /usr/local/greatsql-shell-8.0.32-25-Linux-oe2203-glibc2.34-x86_64/bin/mysqlsh

MySQL Shell 8.0.32
...
Type '\help' or '\?' for help; '\quit' to exit.
 MySQL  Py > \q
Bye!

文件介绍

  • CHANGELOG.md,更新历史
  • docker-entrypoint.sh,GreatSQL-Shell Docker镜像初始化脚本,处理源码包下载等准备工作
  • Dockerfile,用于构建Docker编译环境
  • greatsqlsh-automake.sh,用于实现在Docker容器中自动化编译的脚本
  • greatsqlsh-setenv.sh,通用环境变量设置脚本
  • mysqlsh-for-greatsql-8.0.32.patch,需要对MySQL Shell打补丁,才能支持GreatSQL中特有的仲裁节点特性

联系我们

扫码关注微信公众号

GreatSQL社区微信公众号二维码

马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Docker
1
https://gitee.com/earl86/GreatSQL-Docker.git
git@gitee.com:earl86/GreatSQL-Docker.git
earl86
GreatSQL-Docker
GreatSQL-Docker
master

搜索帮助