当前位置: 首页 > news >正文

【openGauss】一键编译openGauss5.0+dolphin,体验新增的mysql兼容特性

脚本

  • 新建一个/opt/onekey-build-og.sh文件,存入以下内容

    #!/bin/bash
    # 环境 centos 7.9 4C 8G  (配置越高编译越快,4G内存编译不了,磁盘大概需要14GB)
    # 安装一些依赖 (libaio-devel如果不卸载重装,可能会找不到io_context_t)
    yum remove libaio-devel libaio -y
    yum install -y git gmp  gmp-devel  mpfr  mpfr-devel  libmpc  libmpc-devel libaio libaio-devel flex bison ncurese-devel glibc-devel patch rehat-lsb-core readline-devel perl gcc gcc-c++# 新建一个用户
    useradd omm500# 创建目录
    mkdir /opt/omm500
    chown omm500 /opt/omm500 -R# 切换用户执行编译及安装
    chown omm500 install.sh
    chmod 777 install.sh
    su - omm500 -c "cd /opt && bash install.sh"
    
  • 新建一个/opt/install.sh文件,存入以下内容

    #!/bin/bash
    # 创建数据目录
    cd /opt/omm500
    mkdir data# 下载编译好的三方库并解压(这里下载的是Centos7.6_x86_64的版本,在7.6和7.9都能用)
    wget https://opengauss.obs.cn-south-1.myhuaweicloud.com/5.0.0/binarylibs/openGauss-third_party_binarylibs_Centos7.6_x86_64.tar.gz
    tar -xvf openGauss-third_party_binarylibs_Centos7.6_x86_64.tar.gz# 克隆数据库源码仓
    git clone https://gitee.com/opengauss/openGauss-server -b 5.0.0# 配置环境变量(这里最核心的一点就是把gcc的默认路径改了,操作系统默认的版本太低)
    echo "export CODE_BASE=/opt/omm500/openGauss-server     # Path of the openGauss-server file " >> ~/.bash_profile
    echo "export BINARYLIBS=/opt/omm500/openGauss-third_party_binarylibs_Centos7.6_x86_64    # Path of the binarylibs file " >> ~/.bash_profile
    echo "export GAUSSHOME=\$CODE_BASE/dest/ " >> ~/.bash_profile
    echo "export GCC_PATH=\$BINARYLIBS/buildtools/gcc7.3/ " >> ~/.bash_profile
    echo "export CC=\$GCC_PATH/gcc/bin/gcc " >> ~/.bash_profile
    echo "export CXX=\$GCC_PATH/gcc/bin/g++ " >> ~/.bash_profile
    echo "export LD_LIBRARY_PATH=\$GAUSSHOME/lib:\$GCC_PATH/gcc/lib64:\$GCC_PATH/isl/lib:\$GCC_PATH/mpc/lib/:\$GCC_PATH/mpfr/lib/:\$GCC_PATH/gmp/lib/:\$LD_LIBRARY_PATH " >> ~/.bash_profile
    echo "export PATH=\$GAUSSHOME/bin:\$GCC_PATH/gcc/bin:\$PATH " >> ~/.bash_profile
    echo "export PGDATA=/opt/omm500/data" >> ~/.bash_profile
    echo "export PGPORT=5432" >> ~/.bash_profile
    echo "export PGDATABASE=postgres" >> ~/.bash_profile# 加载环境变量
    source ~/.bash_profile# 进入源码目录
    cd $CODE_BASE# 编译server (这里就是openGauss提供的一键式编译脚本)
    sh build.sh -m release -3rd $BINARYLIBS# 文件夹改名 (原文档说会生成dest目录,但实际上是生成到了mppdb_temp_install,所以改个名)
    mv mppdb_temp_install dest # 克隆插件仓,并复制到server源码目录内(必须单独编译,因为如果先放到server源码内,server都会编译不成功)
    git clone https://gitee.com/opengauss/Plugin -b 5.0.0
    cp Plugin/contrib/*  $CODE_BASE/contrib/ -r# 编译dolphin插件
    cd contrib/dolphin
    make install# 复制插件到编译好的server目录
    cp *.so $GAUSSHOME/lib/postgresql/ 
    cp *.control $GAUSSHOME/share/postgresql/extension/ 
    cp *.sql $GAUSSHOME/share/postgresql/extension/ # 初始化数据库
    gs_initdb --nodename=primary --pwpasswd=Sinvie@123# 配置一些数据库参数
    echo "port=$PGPORT" >> $PGDATA/postgresql.conf
    echo "listen_addresses = '0.0.0.0'" >> $PGDATA/postgresql.conf
    echo "password_encryption_type = 0" >> $PGDATA/postgresql.conf
    echo "log_directory = 'pg_log'" >> $PGDATA/postgresql.conf
    echo "remote_read_mode=non_authentication" >> $PGDATA/postgresql.conf
    echo "host all all 0.0.0.0/0 md5" >> $PGDATA/pg_hba.conf# 启动数据库
    gs_ctl start # 连接数据库并创建一个B库
    gsql -c "create database sioc_3_3 dbcompatibility='B'";# 开启一些mysql特性
    gsql -c "alter database sioc_3_3 set enable_set_variable_b_format = on;";
    gsql -c "alter database sioc_3_3 set dolphin.lower_case_table_names = 0;";
    gsql -c "alter database sioc_3_3 set dolphin.B_COMPATIBILITY_MODE = on;";
    # gsql -c "alter database sioc_3_3 set dolphin.sql_mode = '';";
    gsql -c "alter system set  enable_dolphin_proto= on;";
    # gsql -c "alter system set  default_database_name=sioc_3_3;";
    gsql -c "alter system set  dolphin_server_port=3306;";gs_ctl restart
    
  • 对onekey-build-og.sh 授权可执行

    chmod 777 onekey-build-og.sh
    
  • 然后执行这个sh文件(4C 8G 100M宽带 大约30分钟)

    ./onekey-build-og.sh
    

连接数据库

su - omm500
gsql -r -d sioc_3_3 -h 127.0.0.1 -U omm500 -W Sinvie@123
  • 表名大小写敏感及反引号

    create table Test_123 (`a` int, `B` int ,"Ab" int);
    \d+ "Test_123"
    select * from Test_123;--不会报错
    select * from test_123;--会报错
    
  • mysql客户端连接
    如果机器上没有安装mysql客户端,则先安装一下

    yum -y install http://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm
    yum search mysql
    yum install -y mysql-community-client.x86_64
    

创建一个新的数据库用户,授为管理员

su - omm500
gsql -c "create user emt password 'Sinvie@123';"
alter user emt sysadmin;
ALTER DATABASE "sioc_3_3" OWNER TO emt;CREATE SCHEMA public AUTHORIZATION emt;ALTER SCHEMA "public" OWNER TO "emt";

navicat连接

使用emt,密码:Sinvie@123,端口号5432,postgresql协议

环境清理命令

su - omm500
gs_ctl stop
exituserdel omm500
rm -rf /opt/omm500
rm -rf /home/omm500

本文参考:https://www.darkathena.top/archives/one-key-build-opengauss-and-dolphin

相关文章:

【openGauss】一键编译openGauss5.0+dolphin,体验新增的mysql兼容特性

脚本 新建一个/opt/onekey-build-og.sh文件,存入以下内容 #!/bin/bash # 环境 centos 7.9 4C 8G (配置越高编译越快,4G内存编译不了,磁盘大概需要14GB) # 安装一些依赖 (libaio-devel如果不卸载重装,可能会找不到io_c…...

【LeetCode - 每日一题】1073. 负二进制数相加 (2023.05.18)

1073. 负二进制数相加 题意 基数为 -2 。实现两个 0/1 数组串的加法。 解法 这是一道模拟题。 设 arr1[i] 和 arr2[i] 是数组 arr1 和 arr2 从低到高的第 i 位数。 首先回顾普通的二进制数的相加,从低位开始计算,在计算的同时维护用一个变量 carry…...

软件上线会面临哪些缺陷?这四种你一定很熟悉

上线对任何软件产品来说都是一件大事,确保一切正常并且向用户发布高质量的软件非常重要。劣质、过早、不稳定、难以使用的产品会产生大量经济损失,也可能使用户对品牌本身失去信任。一直以来,我们都说应该测试,应该将缺陷修复到可…...

html监听界面被隐藏或显示

vue相比于小程序和uni-app 显然少了两个有点用的生命周期 onShow 应用被展示 onHide 应用被隐藏 但其实这个 要做其实也很简单 JavaScript中 有对应的visibilitychange事件可以监听 我们Html参考代码如下 <!DOCTYPE html> <html lang"en"> <head>…...

Springboot启动失败 DB连不上竟然是maven配置的问题

Springboot启动失败&#xff1a;Failed to instantiate [javax.sql.DataSource]。 最开始以为是DB版本后&#xff0c;需要升级驱动版本&#xff0c;但更新驱动版本还是不行&#xff0c;而且另外一个项目同样驱动同样配置可以启动。 后面发现代码读取不到yml文件中的配置信息。…...

P9234 [蓝桥杯 2023 省 A] 买瓜 题解

题目传送门 前言 说实话这题根本用不到什么折半……&#xff0c;今天看机房大佬写了半天加了一堆剪枝还以为很难&#xff0c;其实是你们想复杂了 20分钟不到从看题到代码实现 这题其实只需要可行性剪枝加排序 哦还有个后缀和 进入正题 小木棍子都听说过吧 没错就是小波上…...

ThingsBoard自定义分发节点duplicate to related

------------------------------------内容仅博主所有,订阅者请勿泄露,感谢--------------------- 1、概述 大家好,我又更新干货了,还是那句话,我绝不像某些博主“拿我格子衫”分享那些照抄官网翻译的东西来骗订阅,我觉得那是浪费时间,要搞就搞干货,今天给大家分享Th…...

vim自动更新ctags与taglist

vim的 ctags 和 taglist 在默认情况下是不进行自动更新的&#xff0c;这对于编写代码是非常不方便的&#xff0c;好在vim的脚本还是很强大的&#xff0c;于是在vimrc中添加如下函数&#xff1a; function! UpdateCtags()let curdirgetcwd()while !filereadable("./tags&qu…...

linux查看日志常用命令,动态日志命令

linux查看日志命令&#xff0c;动态日志命令&#xff1a; tail&#xff1a; -n是显示行号&#xff1b;相当于nl命令&#xff1b;例子如下&#xff1a; tail -100f test.log 实时监控100行日志。 tail -n 10 test.log 查询日志尾部最后10行的日志。 tail -…...

分段存储管理方式

目录 一、分段存储管理方式的引入的需求: 1.方便编程 2.信息共享 3.信息保护 4.动态增长 5.动态链接 二、分段系统的基本原理 1.分段 2.段表 3.地址变换机构 4.分页与分段的主要区别 三、信息共享 四、段页式存储管理方式 1.基本原理 2.地址变换过程 分段与分页…...

将nacos从本地切换到远程服务器上时报错:客户端端未连接,Client not connected

报错信息&#xff1a; 09:34:38.438 [com.alibaba.nacos.client.Worker] ERROR com.alibaba.nacos.common.remote.client - Send request fail, request ConfigBatchListenRequest{headers{charsetUTF-8, Client-AppNameunknown, Client-RequestToken65c0fbf47282ae0a7b85178…...

系统掌握入河排污口设置论证技术、方法及报告编制框架

在短时间内较系统的掌握入河排污口设置论证技术、方法及报告编制框架&#xff0c;学习内容以城镇生活污水厂、造纸项目、石化项目、制药项目案例为线索&#xff0c;系统讲解入河排污口设置论证报告书编制过程&#xff0c;并以水质模型为手段&#xff0c;讲解水质影响预测模型的…...

服务端渲染

服务端渲染 和 前后端分离&#xff01; 渲染 什么是渲染呢 ? 其实很简单, 就是把数据反应在页面上&#xff0c;说白了, 就是利用 js 的语法, 把某些数据组装成 html 结构的样子, 放在页面上展示。 举个例子 : 1. 准备一段 html 结构 <h1>hello world</h1> <di…...

干货丨警惕!14个容易导致拒稿的常见错误

Hello,大家好&#xff01; 这里是壹脑云科研圈&#xff0c;我是喵君姐姐~ 从做研究、到写论文、再到投稿&#xff0c;每一步都是巨大的挑战。以下列举了一些在这些过程中可能导致拒稿的常见错误&#xff0c;希望能帮助大家避开。 01 格式问题 1.没有遵守投稿须知 期刊提供了…...

Web基础 ( 二 ) CSS

2.CSS 2.1.概念与基础 2.1.1.什么是CSS Cascading Style Sheets 全称层叠样式单 简称样式表。 是告诉浏览器如何来显示HTML的元素的特殊标记 2.1.2.编写方式 2.1.2.1.外部文件 在html文件的<head>中加入<link>结点来引入外部的文件 <link rel"stylesh…...

MSQL系列(一) Mysql实战-索引结构 二叉树/平衡二叉树/红黑树/BTree/B+Tree

Mysql实战-索引结构 二叉树/平衡二叉树/红黑树/BTree/BTree 我们在项目中都会使用索引&#xff0c;所以我们要了解索引的存储结构&#xff0c;今天我们就着重讲解下Mysql的索引结构存储模型&#xff0c;并且看下 二叉树&#xff0c;平衡二叉树&#xff0c;红黑树&#xff0c;B…...

理论力学专题:张量分析

张量方法的引入 自然法则与坐标无关&#xff0c;坐标系的引入方便分析&#xff0c;但也掩盖了物理本质指标符号哑标和自由标 Einstein求和约定&#xff1a;凡在某一项内&#xff0c;重复一次且仅重复一次的指标&#xff0c;表示对该指标在它的取值范围内求和&#xff0c;并称这…...

索引失效情况

左或者左右模糊匹配&#xff0c;like %xx&#xff0c;like %xx% select * from student where name like %三; 原因&#xff1a;B是按照索引值有序排列&#xff0c;只能根据前缀比较来确定数据&#xff0c;一旦左边是模糊的&#xff0c;显然无法确定到底是哪个索引值 对索引字…...

pv操作练习题

信号量解决五个哲学家吃通心面问题 题型一 有五个哲学家围坐在一圆桌旁&#xff0c;桌中央有盘通心面&#xff0c;每人面前有一只空盘于&#xff0c;每两人之间放一把叉子。每个哲学家思考、饥饿、然后吃通心面。为了吃面&#xff0c;每个哲学家必须获得两把叉子&#xff0c;…...

【小菜鸡刷题记】--字符串篇

【小菜鸡刷题记】&#xff1a;字符串 剑指 Offer 05. 替换空格剑指 Offer 58 - II.左旋转字符串剑指 Offer 20.表示数值的字符串剑指 Offer 67. 把字符串转换成整数 特此声明&#xff1a;题目均来自于力扣 剑指 Offer 05. 替换空格 题目链接 请实现一个函数&#xff0c;把字符…...

OpenClaw v2.6.2 汉化中文版 一键部署完整步骤

前言 在本地 AI 智能体快速普及的当下&#xff0c;OpenClaw&#xff08;小龙虾&#xff09;凭借「纯本地运行、零代码部署、全场景自动化」的核心优势&#xff0c;成为 2026 年办公人群、技术爱好者优选的 AI 工具。相比旧版本&#xff0c;全新 v2.6.2 进一步优化了部署流程、…...

nlp_structbert_sentence-similarity_chinese-large实战案例:在线教育题库题目语义查重系统

nlp_structbert_sentence-similarity_chinese-large实战案例&#xff1a;在线教育题库题目语义查重系统 1. 项目背景与需求 在线教育平台每天都会产生大量的题目内容&#xff0c;老师们经常遇到这样的困扰&#xff1a;新出的题目是不是和题库中已有的题目重复了&#xff1f;传…...

OneNET云平台数据流实战:从MQTT上传到Python查询的完整链路

1. 从零开始搭建OneNET物联网数据链路 第一次接触OneNET平台时&#xff0c;我被它完整的物联网数据管理能力惊艳到了。作为一个老程序员&#xff0c;我见过太多半吊子的物联网平台&#xff0c;要么协议支持不全&#xff0c;要么API设计反人类。而OneNET真正做到了从设备接入到数…...

如何在Windows和Linux上快速免费解锁VMware的macOS虚拟机支持

如何在Windows和Linux上快速免费解锁VMware的macOS虚拟机支持 【免费下载链接】unlocker VMware Workstation macOS 项目地址: https://gitcode.com/gh_mirrors/unloc/unlocker 想在VMware中运行macOS虚拟机吗&#xff1f;VMware解锁工具是您的终极解决方案&#xff01…...

S2-Pro代码审查助手:自动发现潜在Bug与安全漏洞

S2-Pro代码审查助手&#xff1a;自动发现潜在Bug与安全漏洞 1. 引言&#xff1a;代码审查的痛点与解决方案 在软件开发过程中&#xff0c;代码审查是保证质量的重要环节。但传统的人工审查方式面临诸多挑战&#xff1a;耗时耗力、容易遗漏细节、标准不统一等问题。特别是当项…...

Qwen3-14B开源镜像快速上手指南:24GB显存单卡开箱即用实操

Qwen3-14B开源镜像快速上手指南&#xff1a;24GB显存单卡开箱即用实操 1. 镜像概述与核心优势 Qwen3-14B私有部署镜像是一款专为RTX 4090D 24GB显存显卡优化的开箱即用解决方案。这个镜像最大的特点就是"拿来就能用"——所有环境依赖、模型权重、启动脚本都已预先配…...

软萌拆拆屋实战教程:用‘变走丑丑的东西’规避不良生成技巧

软萌拆拆屋实战教程&#xff1a;用‘变走丑丑的东西’规避不良生成技巧 你是不是也遇到过这种情况&#xff1f;想用AI生成一张可爱的服饰拆解图&#xff0c;结果出来的画面要么颜色诡异&#xff0c;要么结构混乱&#xff0c;甚至出现一些奇怪的元素&#xff0c;完全不是想要的…...

轨迹张量 + 空间反演:镜像视界如何重写三维空间智能体的底层算法逻辑

摘要当行业还在讨论“视频能识别什么”时&#xff0c;镜像视界&#xff08;浙江&#xff09;科技有限公司已经把问题推进到了下一阶段&#xff1a;视频如何直接参与空间计算、行为建模与决策控制。过去的智能视频系统&#xff0c;本质上是在二维图像上做目标检测、属性识别和行…...

灵狐框架 vs. 传统开发:如何用Fox Framework简化WordPress主题定制

灵狐框架 vs. 传统开发&#xff1a;如何用Fox Framework简化WordPress主题定制 WordPress作为全球最流行的内容管理系统&#xff0c;其主题开发一直是开发者关注的焦点。传统开发方式虽然灵活&#xff0c;但往往伴随着大量重复性工作和复杂的代码结构。而灵狐框架&#xff08;F…...

Llama2跑不起来?别急,可能是flash-attn的ABI版本搞的鬼(CUDA 12.2 + PyTorch 2.1.2 实测避坑)

Llama2部署遇阻&#xff1f;深入解析flash-attn的ABI兼容陷阱 当你在本地部署Llama2等大语言模型时&#xff0c;是否遇到过这样的场景&#xff1a;按照官方文档一步步操作&#xff0c;flash-attn显示安装成功&#xff0c;却在import时遭遇莫名其妙的报错&#xff1f;这种"…...