mysql-shell for GreatSQL 8.0.27编译安装及使用

CentOS7 源码编译安装MySQL8.0.15 shell脚本 使用MySQL8无需像MySQL5那样需要Boost依赖,和经过35-55分钟的等待编译完成,直接解压即可使用,方便快捷! 1,环境: 操作系统CentOS Linux release 7.6.1810 (Core) 64位 服务器环境“腾讯云”服务器 cat /etc/centos-release # 查看centos系统版本 MySQL8.0.15源码包下载地址 ... 阅读详情

0. 前言

由于GreatSQL 8.0.27版本中引入MGR仲裁节点(投票节点,ARBITRATOR)特性,MySQL提供的mysql-shell无法识别该特性,因此提供mysql-shell for GreatSQL版本。

1. 修改说明

需要修改mysql-shell源码,增加对仲裁节点(投票节点)角色类型的支持,涉及到两个文件:

  • mysqlshdk/libs/mysql/group_replication.h
  • mysqlshdk/libs/mysql/group_replication.cc
    在 Member_role 对象中增加 ARBITRATOR 角色类型即可。整个patch文件只有35行,很简单:
$ cat mysqlsh-for-greatsql-8.0.27.patch

diff --git a/mysqlshdk/libs/mysql/group_replication.cc b/mysqlshdk/libs/mysql/group_replication.cc
index ef6a8e1b9..9edbab628 100644
--- a/mysqlshdk/libs/mysql/group_replication.cc
+++ b/mysqlshdk/libs/mysql/group_replication.cc
@@ -108,6 +108,8 @@ std::string to_string(const Member_role role) {
       return "PRIMARY";
     case Member_role::SECONDARY:
       return "SECONDARY";
+    case Member_role::ARBITRATOR:
+      return "ARBITRATOR";
     case Member_role::NONE:
       return "NONE";
   }
@@ -119,6 +121,8 @@ Member_role to_member_role(const std::string &role) {
     return Member_role::PRIMARY;
   } else if (shcore::str_casecmp("SECONDARY", role.c_str()) == 0) {
     return Member_role::SECONDARY;
+  } else if (shcore::str_casecmp("ARBITRATOR", role.c_str()) == 0) {
+    return Member_role::ARBITRATOR;
   } else if (role.empty()) {
     return Member_role::NONE;
   } else {
diff --git a/mysqlshdk/libs/mysql/group_replication.h b/mysqlshdk/libs/mysql/group_replication.h
index c76385e4b..1d957eae5 100644
--- a/mysqlshdk/libs/mysql/group_replication.h
+++ b/mysqlshdk/libs/mysql/group_replication.h
@@ -73,7 +73,7 @@ enum class Member_state {
   MISSING
 };

-enum class Member_role { PRIMARY, SECONDARY, NONE };
+enum class Member_role { PRIMARY, SECONDARY, ARBITRATOR, NONE };

 enum class Topology_mode { SINGLE_PRIMARY, MULTI_PRIMARY, NONE };

2. 编译mysql-shell

从MySQL官网下载的mysql-shell 8.0.27源码包是有问题的,会导致编译失败,需要自己手动修改 CMakeLists.txt 文件。我已经提交bug(#106730)了,升级到8.0.28就可以了。

官方提供的参考文档 https://github.com/mysql/mysql-shell/blob/master/INSTALL 版本太老了(最后更新时间 Aug 19, 2020),几乎完全不可用。

只好我自己摸索了。

2.1 环境准备

下载几个相关的安装包:

  • protobuf-all-3.11.4.tar.gz,https://github.com/protocolbuffers/protobuf/releases?page=5
  • mysql-8.0.27.tar.gz,https://downloads.mysql.com/archives/community/
  • mysql-shell-8.0.27-src.tar.gz,https://downloads.mysql.com/archives/shell/
  • boost_1_73_0.tar.gz,https://boostorg.jfrog.io/artifactory/main/release/1.73.0/source/boost_1_73_0.tar.gz
  • patchelf-0.14.5.tar.gz,https://github.com/NixOS/patchelf/releases/download/0.14.5/patchelf-0.14.5.tar.gz
  • rpcsvc-proto, https://github.com/thkukuk/rpcsvc-proto/releases/download/v1.4/rpcsvc-proto-1.4.tar.gz

利用下面的Dockerfile构建一个CentOS 8的docker镜像,专门用于编译mysql-shell:

FROM docker.io/arm64v8/centos

RUN rm -f /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Linux-AppStream.repo /etc/yum.repos.d/CentOS-Linux-BaseOS.repo && \
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo && \
sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo
RUN yum install -y epel-release && \
yum clean all && \
yum makecache
RUN yum install -y --skip-broken yum-utils wget diffutils net-tools vim git gcc gcc-c++ automake libtool cmake cmake3 \
make psmisc openssl openssl-devel zlib-devel readline-devel bzip2-devel expat-devel  \
bison  flex wget unzip libcurl-devel libevent-devel libffi-devel lz4-devel \
file clang bzip2 libxml2-devel libtirpc libtirpc-devel numactl-devel numactl-libs \
numactl openldap-devel openldap-clients pam-devel valgrind boost-devel \
libzstd libzstd-devel patchelf perl perl-Env perl-JSON perl-Memoize perl-Time-HiRes time libaio-devel libarchive \
ncurses-devel ncurses-libs pam redhat-lsb-core scl-utils-build pkg-config ccache \
jemalloc jemalloc-devel libicu-devel re2-devel redhat-lsb-core rpm* tar libssh \
cyrus-sasl-devel cyrus-sasl-scram python36 python36-devel

RUN dnf install -y dnf
RUN dnf install -y gcc-toolset-10 && source /opt/rh/gcc-toolset-10/enable
RUN echo 'source /opt/rh/gcc-toolset-10/enable' >> /root/.bash_profile

#patchelf
COPY patchelf-0.14.5.tar.gz /tmp/

#rpcsvc-proto
COPY rpcsvc-proto-1.4.tar.gz /tmp/rpcsvc-proto-1.4.tar.gz

COPY boost_1_73_0.tar.gz /opt/

RUN rm -fr /tmp/*

接下来就是制作docker镜像包,然后再启动一个docker容器,详细过程方法可参考这篇文章:自制GreatSQL Docker镜像。

启动容器后,将之前下载的几个安装包都拷贝到容器中的 /opt/ 目录下并解压缩:

drwxr-xr-x  8 root   root      65536 Apr 22  2020 boost_1_73_0
-rw-------  1 root   root  128699082 Dec  7 08:34 boost_1_73_0.tar.gz
drwxr-xr-x 31   7161 31415     65536 Mar 15 06:30 mysql-8.0.27
-rw-r--r--  1 root   root  285550905 Mar 15 06:12 mysql-8.0.27.tar.gz
drwxr-xr-x 17 root   root      65536 Mar 15 07:12 mysql-shell-8.0.27-src
-rw-r--r--  1 root   root   81013338 Mar 15 06:12 mysql-shell-8.0.27-src.tar.gz
-rw-r--r--  1 root   root       1372 Mar 15 06:12 mysqlsh-for-greatsql-8.0.27.patch
-rw-r--r--  1 root   root     313132 Mar 16 09:26 patchelf-0.14.5-x86_64.tar.gz
drwxr-xr-x 18 411487 89939     65536 Mar 15 07:00 protobuf-3.11.4
-rw-r--r--  1 root   root    7408292 Mar 15 06:12 protobuf-all-3.11.4.tar.gz
drwxr-xr-x  3 root   root         28 Mar 15 06:01 rh
drwxr-xr-x  4   1000 users     65536 Mar 15 06:29 rpcsvc-proto-1.4
-rw-r--r--  1 root   root     149354 Dec  7 08:23 rpcsvc-proto-1.4.tar.gz

接下来先编译安装几个依赖包:

$ cd /opt/protobuf-3.11.4
./autogen.sh && ./configure && make && make install

$ cd /opt/rpcsvc-proto-1.4
./configure  && make && make install

2.2 开始编译mysql & mysql-shell

复制执行下面的命令,一次性完成mysql & mysql-shell编译安装:

cd /opt/mysql-8.0.27 && \
rm -fr bld && \
mkdir bld && \
cd bld && \
cmake .. -DBOOST_INCLUDE_DIR=/opt/boost_1_73_0/ \
-DLOCAL_BOOST_DIR=/opt/boost_1_73_0/ \
-DWITH_SSL=system && \
cmake --build . --target mysqlclient; \
cmake --build . --target mysqlxclient && \
cd /opt/mysql-shell-8.0.27-src && \
rm -fr bld && \
mkdir bld && \
cd bld && \
cmake .. \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql-shell-8.0.27-18-Linux-glibc2.28-x86_64 \
-DMYSQL_SOURCE_DIR=/opt/mysql-8.0.27 \
-DMYSQL_BUILD_DIR=/opt/mysql-8.0.27/bld/ \
-DHAVE_PYTHON=1 -DWITH_PROTOBUF=bundled && \
make -j64 && make install

编译完成后,会把二进制文件安装到 /usr/local/mysql-shell-8.0.27-18-Linux-glibc2.28-x86_64 目录下。

2.3 利用patchelf修改mysqlsh二进制文件

编译安装完毕后,执行下面的命令,查看 mysqlsh 二进制文件的依赖关系是否都正常,会发现其中有个so依赖文件找不到:

$ cd /usr/local/mysql-shell-8.0.27-18-Linux-glibc2.28-x86_64
$ ldd bin/mysqlsh
        linux-vdso.so.1 (0x00007ffd3adce000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f96f73a8000)
...
        libprotobuf.so.22 => not found
...

这是因为 libprotobuf.so.22 这个动态库文件在 /usr/local/lib/ 目录下,所以找不到。

这时候,我们可以利用 patchelf 修改 mysqlsh 文件,将依赖路径从绝对路径方式改成相对路径方式:

- 首先,新建一个目录
$ pwd
/usr/local/mysql-shell-8.0.27-18-Linux-glibc2.28-x86_64
$ mkdir -p lib/private
- 将 libprotobuf 动态库文件拷贝过来
$ cp /usr/local/lib/libprotobuf.so.22.0.4 lib/private
- 做一个软链接
$ cd lib/private/
$ ln -s libprotobuf.so.22.0.4 libprotobuf.so.22
- 再利用patchelf修改mysqlsh
cd /usr/local/mysql-shell-8.0.27-18-Linux-glibc2.28-x86_64
$ patchelf --set-rpath '$ORIGIN/../lib/private' ./bin/mysqlsh
$ ldd bin/mysqlsh
cd ../..
[root@mysqlsh-c8 mysql-shell-8.0.27-18-Linux-glibc2.28-x86_64]# ldd bin/mysqlsh
        linux-vdso.so.1 (0x00007ffec77e1000)
...
        libprotobuf.so.22 => /usr/local/mysql-shell-8.0.27-18-Linux-glibc2.28-x86_64/bin/../lib/private/libprotobuf.so.22 (0x00007f2b8a5db000)

可以看到,mysqlsh 能找到 libprotobuf 这个动态库文件了,也就可以正常使用了。

3. 运行mysql-shell for GreatSQL

如果想要让mysql-shell支持JavaScript语法,需要再编译时加上 libv8,但其难度太大了,我表示直接放弃。。。

虽然不支持js语法,但还是支持Python语法的呀,略有不同而已,下面举几个常见的例子作为参照对比:

js语法py语法
$ var c=dba.getCluster()$c=dba.get_cluster()
c.status()c.statsu()
c.setPrimaryInstance()c.set_primary_instance()
c.switchToMultiPrimaryMode()c.switch_to_multi_primary_mode()
c.rebootClusterFromCompleteOutage()c.reboot_cluster_from_complete_outage()

看到了吧,其实也就是语法风格略有不同而已,没什么本质区别。

接下来可以玩转GreatSQL 8.0.27的仲裁节点新功能了:

 MySQL  172.16.16.12:33060+ ssl  Py > c.status()
{
    "clusterName": "GreatSQL8027",
    "defaultReplicaSet": {
        "name": "default",
        "primary": "172.16.16.12:3306",
        "ssl": "REQUIRED",
        "status": "OK",
        "statusText": "Cluster is ONLINE and can tolerate up to ONE failure.",
        "topology": {
            "172.16.16.10:3306": {
                "address": "172.16.16.10:3306",
                "memberRole": "ARBITRATOR",  <-- 仲裁节点
                "mode": "R/O",
                "readReplicas": {},
                "replicationLag": null,
                "role": "HA",
                "status": "ONLINE",
                "version": "8.0.27"
            },
            "172.16.16.11:3306": {
                "address": "172.16.16.11:3306",
                "memberRole": "SECONDARY",  <-- Secondary节点
                "mode": "R/O",
                "readReplicas": {},
                "replicationLag": "00:00:00.001422",
                "role": "HA",
                "status": "ONLINE",
                "version": "8.0.27"
            },
            "172.16.16.12:3306": {
                "address": "172.16.16.12:3306",
                "memberRole": "PRIMARY",  <-- Primary节点
                "mode": "R/W",
                "readReplicas": {},
                "replicationLag": null,
                "role": "HA",
                "status": "ONLINE",
                "version": "8.0.27"
            }
        },
        "topologyMode": "Single-Primary"
    },
    "groupInformationSourceMember": "172.16.16.12:3306"
}

对了,第一次启动mysqlsh时,可能会有类似下面的提示:

WARNING: Found errors loading plugins, for more details look at the log at: /root/.mysqlsh/mysqlsh.log

只要执行下面的指令安装certifi这个Python模块即可:

$ pip3.6 install --user certifi

好了,开始感受MGR仲裁节点的魅力吧 O(∩_∩)O哈哈~

P.S1:这是老叶临时抱佛脚的应急版本,可能还有诸多不完善的地方,后面会推出正式的版本。

PS2:GreatSQL 8.0.27及5.7.36版本很快就会发布,请耐心等待。另外,如果是想使用MGR的话,强烈建议选用8.0版本,不要使用5.7版本,8.0的MGR在功能和可靠性方面都要比5.7好太多。

本文完。

Enjoy GreatSQL 😃

手把手教会你用yolov8从环境配置到检测任务实战 做本文章前,我浏览过很多网上资料,我发现他们总是写的含糊不清,而且实际操作起来就会有各种各样的问题,要么就是根本不适合一些小白,所以我在这里写一篇完全针对小白的yolo从入门到实战。看完本文章后大家都可以实现下图效果,数字识别是一种比较简单的检测任务,其他识别任务学完本例也能够一通百通,大家边做边学,更好的体会yolo的神奇之处。 阅读详情

相关推荐

T-Box功能详解及应用

T - BOX,其全称为 Telematics Box,作为远程 / 车载通信模块,是一款集车身网络与无线通讯功能于一体的智能终端设备。它充当了多媒体车机与 TSP(汽车远程服务提供商)以及互联网之间的无线路由器角色,为用户创造了远程访问的可能。用户借助T - BOX能够对车辆配备的各个 ECU(电子控制单元)进行远程操控,包括远程启动或停止发动机开启或关闭空调天窗后备箱门车门,以及实现闪灯鸣笛等功能。

wgl110110的博客 5640

GreatSQL 8.0.25-16初体验

*GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。1. 准备工作1.1 下载RPM包1.2 准备YUM源2. 初始化安装2.1 各节点安装RPM包2.2 初始化Primary节点2.3 初始化Secondary 和 Arbitrator 节点3、搭建MGR集群体验GreatSQL 8.0.25-16各个新特性。在刚刚发布的GreatSQL 8.0.25-16中,主打以...

老叶茶馆 751

QMT量化交易桥接方案深度对比:从MiniQMT淘汰说起

量化交易系统中的API桥接,本质是解决本地终端与底层交易引擎之间的通信瓶颈。其核心原理在于绕过GUI封装、直连确定性执行层,从而获得低延迟、高可靠、可监控的指令通路。技术价值体现在策略实盘一致性提升、毫秒级响应保障及运维可控性增强。典型应用场景包括打板策略、T+0套利、高频网格等对时效与稳定性双敏感的自动化交易。本文聚焦国金证券QMT专业版生态,系统剖析DLL注入、HTTP反向代理、IPC共享内存与官方HTTP API四大桥接路径的性能边界、合规风险与工程落地成本,尤其深入解析qmt终端 client is

weixin_33892359的博客 457

编写源码安装mysql的shell脚本

info"软件包ncurses ncurses-devel openssl-devel bison libgcrypt gcc gcc-c++ make cmake即将被安装"#######函数见其他shell脚本##################success "mysql用户已成功创建"echo "$yum_list 已经安装成功"echo "$yum_list 未安装成功"success "mysql用户已存在"success "MySQL数据目录已创建完成"echo "部署成功"

huanzi0523的博客 115

virtuoso--DFF

27-实验课-std_cell2

qq_61440044的博客 2005

深入IR2104数据手册:被忽略的SD引脚用法和死区时间调节实战

本文深入解析IR2104半桥驱动芯片的SD引脚用法和死区时间调节技巧,帮助硬件工程师优化电机控制和电源转换系统。通过详细的电路设计、实测数据和调试方法,揭示SD引脚的多重保护机制和死区时间的精密调节策略,提升系统安全性和效率。

weixin_30342363的博客 391

麒麟OS和龙芯环境编译安装GreatSQL

之前测试过GreatSQL安装,基本上和MySQL无差异,《GreatSQL配置到系统systemd服务》《GreatSQL单机环境安装》《国产数据库之-GreatSQL》但是测试用的操作系统都是CentOS,非xc,碰巧看到GreatSQL社区推了这篇文章《麒麟OS+龙芯环境编译GreatSQL》,在xc环境安装GreatSQL,借鉴一下。本次介绍如何在麒麟OS + 龙...

bisal的专栏 1201

2024年厦门市第31届小学生C++信息学竞赛试题与解析(第一部分选择题1-10)

2024年厦门市第31届小学生C++信息学竞赛试题与解析(第一部分选择题1-10)

汉克老师的博客 107

MySQL Shell系列——执行代码

MySQL Shell是目前MySQL官方最新的CLI客户端。MySQL Shell不但提供了操作SQL的功能、还提供了管理InnoDB Cluster的API,并且集成了大量的MySQL工具。在这一系列的文章里,将详细向读者介绍MySQL Shell的各种使用方法。这一篇将介绍如何使用MySQL Shell执行代码。一、执行模式MySQL Shell可以执行 SQL、JavaScript和Pyt...

老叶茶馆 1847

Scrapy爬虫之热门网站数据爬取--------第2关

第2关:小说网站玄幻分类第一页小说爬取 任务描述 本关任务:爬目标网页的3本小说保存到本地MySQL数据库,目标网页为全书网玄幻分类首页。 注:考虑到单机(非分布式)爬虫的爬取时间和测试平台的压力,我们不爬更多页数的小说了,可以作为课下作业自己完善。 xpath匹配:循环获取相同标签下的内容 通过网页分析,我们在获取小说的章节名时,发现他们都在标签<DIV class="clearfix dirconone">下的li的a中: 这时,我们可以先把其中所有的li标签先获取到: titles = r

weixin_44949187的博客 2836

【STK】手把手教你利用STK进行导弹和反导仿真02 - STK/MMT模块01 导弹任务分析工具概述

种工具:导弹设计工具(Missile Design Tool,MDT )、导弹飞行工具(Missile Flight Tool,截弹,或者用内置拦截弹编辑器创建的个性化的拦截弹, IFT 能够对 ―一对一 ‖动能拦截。导设置系统参数, 并对其有效性进行验证, 画性能图,保证该设计是可行的。(SAIC)公司联合开发研制,极大扩展了 STK 原有的导弹对象的功能,能够精确仿真。IFT 能够对拦截飞机、 导弹、卫星等目标进行仿真和分析。(2)推进系统参数,包括推力,比冲,秒流量,推力持续时间,喷嘴出口面积,

weixin_44184852的博客 1877

在CentOS环境下编译GreatSQL RPM包

本文介绍如何在CentOS环境下编译GreatSQL RPM包。运行环境是docker中的CentOS 8 x86_64:$docker-v Dockerversion20.10.10,buildb485636 $dockerrun-itd--hostnamec8--namec8centosbash a0a2128591335ef41e6faf46b7e79953c...

老叶茶馆 1178

python全栈入门到实战【基础篇 01】Python初识:定位、优势与发展历程

本文介绍了热门编程语言Python。它是解释型高级语言,具通用、入门友好、胶水型特点,以简洁易读为设计哲学。优势包括语法简洁高效、生态庞大、跨平台、社区活跃、应用广泛、门槛低。发展历经诞生(1989-1994,吉多创建,1994年1.0发布)、成长(版本迭代,3.0发布)、崛起(Web与大数据推动)、爆发(AI浪潮助推)及持续迭代阶段。

那些看似不起波澜的日复一日,会在某天让你看到坚持的意义 1万+

MySQL Shell 8.0.32 for GreatSQL编译二进制包

构建MySQL Shell 8.0.32 for GreatSQL0. 写在前面之前已经写过一篇前传 MySQL Shell 8.0.32 for GreatSQL编译安装,最近再次编译MySQL Shell二进制包时,发现了一些新问题,因此重新整理更新本文档。1. 几处新问题这次编译MySQL Shell发现几个新问题,下面一一列举。MySQL Shell要求配套的antlr4版本必须是4.10...

老叶茶馆 1137

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

MySQL Shell for GreatSQL 8.0.25-16编译安装及使用

*GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。0. 前言1. 修改说明2. 编译mysql-shell2.1 环境准备2.2 开始编译mysql & mysql-shell2.3 利用patchelf修改mysqlsh二进制文件3. 运行mysql-shell for GreatSQL0. 前言由于GreatSQL 8.0.25-...

老叶茶馆 644

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

MySQL Shell 8.0.32 for GreatSQL编译安装

0. 写在前面1. 准备工作1.1 准备Docker环境1.2 下载源码包1.3 修改MySQL Shell源码包1.4 编译相关软件包2. 准备编译MySQL Shell2.1 编译MySQL 8.0.322.2 编译MySQL Shell 8.0.322.3 运行测试3. 写在最后延伸阅读升级MySQL Shell for GreatSQL版本0. 写在前面GreatSQL 8.0.32-24...

老叶茶馆 311

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

图文结合丨玩转MySQL Shell for GreatSQL

*GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。一、引言1.1 什么是MySQL Shell ?MySQL Shell 是 MySQL 的一个高级客户端和代码编辑器,是第二代 MySQL 客户端。第一代 MySQL 客户端即我们常用的 MySQL 。除了提供类似于 MySQL 的 SQL 功能外,MySQL Shell 还提供 JavaScript 和 Python...

老叶茶馆 541

图文结合丨带你轻松玩转MySQL Shell for GreatSQL

MySQL Shell 是 MySQL 的一个高级客户端和代码编辑器,是第二代 MySQL 客户端。第一代 MySQL 客户端即我们常用的 MySQL。除了提供类似于 MySQL 的 SQL 功能外,MySQL Shell 还提供 JavaScript 和 Python 脚本功能,并包括与 MySQL 一起使用的 API。MySQL Shell 除了可以对数据库里的数据进行操作,还可以对数据库进行管理,特别是对MGR的支持,使用MySQL Shell 可以非常方便的对MGR进行搭建、管理、配置等。

GreatSQL2021的博客 586

CentOS 7下GreatSQL安装与MySQL兼容性测试指南

数据库兼容性测试是系统迁移过程中的关键环节,特别是当评估MySQL替代方案时。GreatSQL作为MySQL的重要分支,在高并发事务处理场景中展现出性能优势。本文以CentOS 7环境为例,详细介绍从源码编译安装GreatSQL到完整兼容性测试的全流程,包括系统配置优化、服务管理设置以及常见问题解决方案。通过实际测试案例展示如何验证基础SQL功能、高级特性(如窗口函数和JSON处理)以及权限系统的兼容性,为金融级应用迁移提供可靠参考。内容涵盖性能调优参数配置、sysbench基准测试对比以及使用mysqld

weixin_34088583的博客 286

GreatSQL登陆Arch Linux之旅

*GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。了解Arch LinuxArch Linux是一个轻量、灵活、基于x86-64架构的Linux发行版,遵循K.I.S.S.原则。注重代码正确、优雅和极简主义,期待用户能够愿意去理解系统的操作。1.简洁Arch Linux将简洁定义为:避免任何不必要的添加、修改和复杂增加。简单来说,archlinux 是一个可以让用户自...

老叶茶馆 273

shell脚本for循环mysql_shell脚本for循环

Shell循环:for循环次数是固定的=====================Shell:for 变量名 [in 取值列表]do循环体doneC语言:for((初值;条件;步长))do循环体done=====================Shell循环:while until循环次数不一定是固定的可以固定可以不固定while语句:while 条件测试do循环体done功能:当条件测试成立(条件...

weixin_42376940的博客 592

玩转MySQL 8.0源码编译

导读最近十年来又一次玩玩MySQL源码编译安装,挺D疼的。这阵子结课了,闲来无事就继续折腾之前记录的一些TODO,其中一个是令人D疼的MySQL源码编译。此前我最后一次编...

老叶茶馆 2284

mysql 8.0安装(源码编译)

文章目录Mysql下载及安装 安装环境:rhel7.6 Mysql MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),使用最常用的数据库管理语言–结构化查询语言(SQL)进行数据库管理。 MySQL是开放源代码的,因此任何人都可以在General Public License的许可下下载并根据个性化的需要对其进行修改。 MySQL因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MySQL是管理内容最好的选择。 下载及安装 安装方式有多种 可在官网https://

qq_42564122的博客 2759

mysql-shell的安装和使用

mysql-shell是一个高级的mysql命令行工具、它直接两种模式(交互式&amp;批处理式)三种语言(javascript\python\sql)1、下载地址https://dev.mysql.com/downloads/shell/2、安装 安装方法就比较简单了,下载一个linux-general版本的解压就行mysql-shell-1.0.8-rc-linux-glibc2.12-x86...

weixin_39214481的博客 1万+
上一篇: 利用MySQL Router构建读写分离MGR集群
下一篇: MySQL B+树索引和哈希索引的区别
GreatSQL社区
博客等级 码龄5年 1210粉丝 390原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值