Centos7源码方式安装sqle及开发相关

官方文档-源码安装

操作系统:centos:7.9,everything (DVD版应该也可以) (在ubuntu22.04装了两天之后乖乖开了一个新Centos7虚拟机)
镜像:清华大学开源软件镜像站 centos/7.9.2009

安装git

sudo yum update -y
sudo yum install -y git
git --version

安装docker

sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2 --skip-broken

sudo yum-config-manager \
--add-repo \
https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

sudo sed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo
sudo yum makecache fast
sudo yum install -y docker-ce

sudo mkdir -p /etc/docker
# 各大镜像源停服后,当前还能用的一些镜像源
sudo tee /etc/docker/daemon.json <<EOF
{
    "registry-mirrors": [
        "https://hub.uuuadc.top",
        "https://docker.anyhub.us.kg",
        "https://dockerhub.jobcher.com",
        "https://dockerhub.icu",
        "https://docker.ckyl.me",
        "https://docker.awsl9527.cn"
    ]
}
EOF

# 启动
sudo systemctl start docker 
# 设置开机自启动
sudo systemctl enable docker


# 修改完daemon.json后使用下面两个
sudo systemctl daemon-reload
sudo systemctl restart docker

# 测试是否成功
docker -v

安装和编译sqle的前后端三个项目

ROOT=$PWD
# 不能直接在仓库下zip,会缺少.git文件夹,这是必需的
git clone https://github.com/actiontech/sqle.git
git clone https://github.com/actiontech/dms.git
git clone https://github.com/actiontech/dms-ui.git

# 编译ui界面
docker run --rm -v $ROOT/dms-ui:/app -w /app gplane/pnpm:8.3.1 sh -c "git config --global --add safe.directory /app && pnpm config set registry https://registry.npm.taobao.org && pnpm install --no-frozen-lockfile && pnpm build"
rm -rf $ROOT/sqle/static && cp -r $ROOT/dms-ui/packages/base/dist $ROOT/sqle/static
# 编译两个后端
cd $PWD/dms
make docker_install
cp -r $PWD/dms/bin $PWD/sqle/bin
cd $PWD/sqle
# 必报错,需要自己打包一个有较新版rpmbuild的镜像
# 解决方案参考下面那个链接
make docker_rpm_with_dms

SQLE源码安装报错:unable to find image ‘rpmbuild/centos7:latest‘ locally

打包

sqle-ce*.rpmsqle文件夹内

RPM=$(find . -type f -name "sqle-ce*.rpm")
rpm -ivh $RPM --prefix=/opt/sqle

启动sqle服务前先部署Mysql

docker run -p 3306:3306 --name mysql --restart=always \
-e MYSQL\_ROOT\_PASSWORD=root \
-d mysql

# 然后在db中执行下面两行
# CREATE DATABASE IF NOT EXISTS sqle default character set utf8mb4 collate utf8mb4_unicode_ci;
# CREATE DATABASE IF NOT EXISTS dms default character set utf8mb4 collate utf8mb4_unicode_ci;

修改config.yaml

修改opt/sqle/etc/config.yaml,主要是修改访问sqledms两个数据库的账号密码。注意数据库IP不要用localhost,而要用192那种

也可以修改sqle/build/sqled_with_dms.specdms/config.yaml,他们最终拼接为config.yaml

启动

cd /opt/sqle
chmod +x scripts/init_start.sh
./scripts/init_start.sh

后续修改源码之后重新部署

rpm -e sqle*
systemctl stop dms
systemctl stop sqled
rm -rf /opt/sqle

ROOT=$PWD

rm -rf $PWD/sqle/static && cp -r $PWD/dms-ui/packages/base/dist $PWD/sqle/static
cp -r $PWD/dms/bin $PWD/sqle/bin
cd $PWD/sqle
make docker_rpm_with_dms

RPM=$(find . -type f -name "sqle-ce*.rpm")
rpm -ivh $RPM --prefix=/opt/sqle

sh /opt/sqle/scripts/init_start.sh

修改rule

在每次启动时都会同步sqle/sqle/driver/mysql/rule/rule_list.go和数据库rules
可以查看sqle/sqle/model/utils.goCreateRulesIfNotExist

二次开发需要

安装golang

mkdir ~/env
cd ~/env
# go.mod中显示go1.19
wget https://golang.org/dl/go1.19.13.linux-amd64.tar.gz
tar -zxvf go1.19.13.linux-amd64.tar.gz


vim ~/.bashrc

# 即刚刚解压的压缩包的文件夹
export GOROOT=~/env/go
# 你自己指定一个存第三方库的文件夹
export GOPATH=~/env/gopath
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin

source  ~/.bashrc

设置mod模式和下载第三方库的代理

go env -w GO111MODULE=on
go env -w GOPROXY="https://goproxy.cn,direct"

测试

go version
go env

yum安装VSCode(不要试这个)

这个方法来自官方:RHEL, Fedora, and CentOS based distributions
会报下面的错,解决方案是更新GLIBC,会影响系统的稳定性

错误:软件包:code-1.90.2-1718751675.el8.x86_64 (code)
          需要:libc.so.6(GLIBC_2.28)(64bit)
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc

sudo sh -c 'echo -e "[code]\nname=Visual Studio Code\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/vscode.repo'

yum check-update

sudo yum install code

建议RemoteSSH远程连接服务器,并进行开发

我是在win11连接Centos7虚拟机
连接url为ssh root@192.168.88.138这种格式
结合下面的这个插件安装方式,即使远程连接也能代码补全
在这里插入图片描述
等待相关工具下完后就行了
在这里插入图片描述
悬停能出现文档了
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/749616.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Sonia索尼娅:填补心理健康护理缺口的创新人工智能治疗师应用APP

聊天机器人可以取代人类治疗师吗&#xff1f;一些初创公司和患者声称他们可以。但这并不是完全确定的科学。 一项引人注目的研究发现&#xff0c;高达80%的使用OpenAI的ChatGPT寻求心理健康建议的人认为&#xff0c;这项技术可作为传统治疗的理想替代方案。与此同时&#xff0…

Android高级面试_2_IPC相关

Android 高级面试-3&#xff1a;语言相关 1、Java 相关 1.1 缓存相关 问题&#xff1a;LruCache 的原理&#xff1f; 问题&#xff1a;DiskLruCache 的原理&#xff1f; LruCache 用来实现基于内存的缓存&#xff0c;LRU 就是最近最少使用的意思&#xff0c;LruCache 基于L…

国外8年联培访学迎来逆袭|国家最高科学技术奖薛其坤成长史

国家最高科技奖花落薛其坤&#xff0c;他是该奖项史上最年轻得主。在追踪其成长史的过程中&#xff0c;知识人网小编注意到&#xff1a;薛其坤的学习研究开局并不顺利&#xff0c;直至到日本做联合培养博士研究生&#xff0c;他才真正迎来了自己学术生涯的重要转折点。后来到美…

面试相关-接口测试常问的问题

1.为什么要做接口测试 (1)现在大多系统都是前后端分离的项目,前端和后端的进度可能不一样,那为了尽早的进入测试,前端界面没有开发完成的情况下,只要后端的接口开发完了,就可以提前做接口测试了; (2)基于安全考虑,只依赖前端进行限制,已经完全不满足系统的安全性…

ELK日志集成

https://www.bilibili.com/video/BV1x94y1674x/?buvidXY705117E90F73A790429C9CFBD5F70F22168&vd_source939ea718db29535a3847d861e5fe37ef

Aigtek:为何要使用电压放大器

电压放大器在现代电子技术中起到了至关重要的作用。它是一种电子设备&#xff0c;用于将输入信号的电压增大到所需的输出电压水平。电压放大器的使用有以下几个方面的原因和优势。 电压放大器可以提高信号的强度和质量。许多实际应用中的输入信号往往很微弱&#xff0c;比如来自…

“管式加热炉简单控制系统和串级控制系统设计与Matlab仿真”,高分资源,匠心制作,下载可用。强烈推荐!!!

“管式加热炉简单控制系统和串级控制系统设计与Matlab仿真”毕业设计&#xff0c;高分资源&#xff0c;匠心制作&#xff0c;下载可用。强烈推荐&#xff01;&#xff01;&#xff01; 1.控制目标 加热炉的任务是把原油加热到一定温度&#xff0c;以保证下道工艺的顺利进行。…

windows安装mysql8.0.35保姆级教程

一、下载mysql安装包 点击mysql安装包下载链接&#xff1a;https://downloads.mysql.com/archives/community/ 选择window版本&#xff0c;点击下载按钮&#xff0c;如下所示&#xff1a; 二、解压安装包并新建my.ini文件 将下面内容复制到新建的my.ini文件里面 [mysqld] #…

阿里云oss存储

文章目录 准备阿里云的OSS控制台创建bucket获取AccessKey java使用oss导入依赖官网demo修改参数运行demo代码 封装工具类Oss下载如何保证指定时间段内可以访问私有权限的图片文件&#xff1f; 准备阿里云的OSS 控制台 访问阿里云官网&#xff0c;登录以后&#xff0c;右上角有…

大众点评根据关键词搜索采集店铺信息

大众点评根据关键词搜索采集店铺信息&#xff0c;包括店铺名称、大中小分类、省市区划分、人均价格、评价数量、团购数量、全部团购名称、全部团购链接&#xff08;团购信息还可解析出每个团购的价格&#xff09; ​​​

【代码安全】如何通过实现代码加密与魔改Python,防止代码泄露、恶意窃取

如何通过实现代码加密与魔改Python&#xff0c;防止代码泄露、恶意窃取 文章目录 如何通过实现代码加密与魔改Python&#xff0c;防止代码泄露、恶意窃取前言概述代码运行演示Step 0: 正常代码运行Step 1: 代码加密Step 2: 加密代码在魔改环境运行Step 3: 加密代码在正常环境运…

matlab编辑稀疏单位方阵

创建 10001000 稀疏单位方阵&#xff0c;并查看稀疏模式。 &#xff08;1&#xff09; I speye(1000); spy(I)&#xff08;2&#xff09; S speye(400,800); spy(S)此命令等同于 speye([400 800])。

【Python】易错题 [1]

目录 一、选择&#xff1a; 1.列表的复制​编辑 2.函数 二、填空 一、选择&#xff1a; 1.列表的复制 在Python中&#xff0c;列表是可变的数据类型。当将一个列表赋值给另一个变量时&#xff0c;实际上是将这个变量的引用指向原始列表。&#xff08;指针&#xff09;因此&…

直播怎么录制视频?直播视频,3种录制方法

“今晚我最喜欢的游戏博主要进行直播&#xff0c;但我可能还要加班。怎么办&#xff0c;不想错过直播的内容&#xff01;电脑怎么才能进行直播录制视频啊&#xff1f;谁能教教我&#xff1f;” 在数字化的今天&#xff0c;直播已经成为人们获取信息和娱乐的重要途径。有时&…

Adobe Acrobat编辑器最新版下载安装 Adobe Acrobat版本齐全!

功能强大&#xff0c;Adobe Acrobat无疑是PDF文档处理领域的翘楚。这款软件集多种PDF文档处理功能于一身&#xff0c;不仅使得用户可以轻松地编辑PDF文档&#xff0c;更能轻松应对转换和合并等多种需求。 在编辑功能上&#xff0c;Adobe Acrobat的表现尤为出色。无论是添加文字…

IDEA 插件推荐【一】

好使的插件可以让工作事倍功半。下面就推荐一些常用的IDEA插件&#xff0c;如果你有其他好使的插件&#xff0c;欢迎评论区留言分享出来~ 1.Key Promoter X Key Promoter X 插件&#xff0c;IDEA 快捷键提示工具。 在每次我们使用鼠标进行 IDEA 的某个操作&#xff0c;Key Pr…

​​植物大战僵尸杂交版直装版v2.1 安卓版:全新策略塔防体验

《植物大战僵尸杂交版直装版》v2.1是由B站UP主“潜艇伟伟迷”精心制作的同人游戏&#xff0c;为策略塔防手游带来了全新的活力。游戏中引入了众多创新的杂交植物&#xff0c;例如结合了向日葵的阳光生成能力和豌豆射手的攻击特性的向日葵豌豆射手&#xff0c;以及拥有寒冰豌豆射…

CesiumJS【Basic】- #019 加载glb/gltf文件(Entity方式)

文章目录 加载glb/gltf文件(Entity方式)1 目标2 代码实现3 资源文件加载glb/gltf文件(Entity方式) 1 目标 使用Entity方式加载glb/gltf文件 2 代码实现 import * as Cesium from "cesium";const viewer = new Cesium.Viewer

武汉高校大学智能制造实验室数字孪生可视化系统平台建设项目验收

随着科技的不断进步和工业4.0的深入推进&#xff0c;智能制造已成为现代工业发展的重要方向。在这一背景下&#xff0c;武汉高校大学智能制造实验室积极响应国家号召&#xff0c;致力于将先进的数字孪生技术与智能制造教育相结合&#xff0c;打造了一个集教学、实训、科研于一体…

SyntaxError: Unexpected token ‘??=‘

前端运行报错&#xff1a; globalThis.GLOBAL_NX_VERSION ?? GLOBAL_NX_VERSION;^^^SyntaxError: Unexpected token ??解决&#xff1a; 检查node版本 node -v当前使用的是14.21.3的版本&#xff0c;切换到一个16.0.0以上的版本即可&#xff0c;推荐使用nvm管理node版本 …