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

news2024/11/19 12:30:39

官方文档-源码安装

操作系统: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这种格式
结合下面的这个插件安装方式,即使远程连接也能代码补全
在这里插入图片描述
等待相关工具下完后就行了
在这里插入图片描述
悬停能出现文档了
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用 Google Gemini 和 SwiftUI 构建 AI 图像识别应用程序

在本教程中,我们将演示如何使用 Google Gemini API 进行图像识别。这个简单的应用程序允许用户从他们的照片库中选择一张图片,并使用 Gemini 描述照片的内容。 在继续本教程之前,请访问Google AI Studio并创建您自己的 API 密钥(如果您还没有这样做)。 在 Xcode 项目中添…

考试系统开源意义

在当今信息科技高速发展的时代&#xff0c;考试系统的代码开源化成为了一个备受关注的话题。开源代码意味着代码的可访问性、可修改性和可分享性&#xff0c;为教育机构和开发者们带来了前所未有的便利和机会。本文将深入探讨考试系统代码开源的背景、意义、优势以及实际应用&a…

Java——IO流(一)-(7/8):字节流-FileOutputStream、字节流完成文件拷贝

目录 文件字节输出流&#xff1a;写字节出去 构造器及常用方法 实例演示 案例&#xff1a;文件复制 过程分析 复制照片 复制文件 文件字节输出流&#xff1a;写字节出去 FileOutputStream&#xff08;文件字节输出流&#xff09; 作用&#xff1a;以内存为基准&#x…

1999年-2022年 商品零售价格指数、城市商品零售价格指数数据

商品零售价格指数&#xff08;RPI&#xff09;是一个关键的经济指标&#xff0c;用于衡量一段时间内商品零售价格的平均变动情况。以下是对商品零售价格指数的详细介绍&#xff1a; 数据简介 定义&#xff1a;商品零售价格指数反映的是与上一年度相比&#xff0c;零售价格的变…

如何利用AI工具高效写作?

利用AI工具进行高效写作已经成为许多人的选择&#xff0c;因为它们能够帮助用户节省时间、提高效率&#xff0c;并在一定程度上保证写作质量。下面小编就和大家分享的一些具体的步骤和建议&#xff0c;帮助大家更好地利用AI工具进行写作。 1.选择合适的AI写作工具 根据自己的写…

【前端】Vue项目和微信小程序生成二维码和条形码

前言&#xff1a;哈喽&#xff0c;大家好&#xff0c;我是前端菜鸟的自我修养&#xff01;今天给大家分享Vue项目和微信小程序如何生成二维码和条形码&#xff0c;介绍了JsBarcode、wxbarcode等插件&#xff0c;并提供具体代码帮助大家深入理解&#xff0c;彻底掌握&#xff01…

图书馆借阅表

DDL 用户表 (Users) 图书表 (Books) 图书类别表 (BookCategories) 图书与类别关联表 (BookCategoryRelations) 借阅记录表 (BorrowRecords) 供应商表 (Suppliers) 采购记录表 (PurchaseRecords) CREATE TABLE Users (user_id INT PRIMARY KEY AUTO_INCREMENT,username …

解决宝塔linux面板 - 404 Not Found(Nginx)方法

宝塔Linux面板后台登录提示404 Not Found Nginx如何解决&#xff1f;码笔记&#xff1a;这是因为BT面板丢失了安全登录入口&#xff0c;如下图&#xff1a; 宝塔404 Not Found nginx 解决方法&#xff1a; 1、先SSH远程服务器 2、然后执行命令 bt 14 重新获取宝塔面板URL地址安…

使用Hugging Face获取BERT预训练模型

【图书推荐】《从零开始大模型开发与微调&#xff1a;基于PyTorch与ChatGLM》_《从零开始大模型开发与微调:基于pytorch与chatglm》-CSDN博客 BERT是一个预训练模型&#xff0c;其基本架构和存档都有相应的服务公司提供下载服务&#xff0c;而Hugging Face是一家目前专门免费提…

cJSON源码解析之add_item_to_object函数

文章目录 前言add_item_to_object函数是干什么的add_item_to_object代码解析函数实现函数原理解析开头的代码constant_key参数的作用最后的if判断 add_item_to_array函数 总结 前言 在我们的日常编程中&#xff0c;JSON已经成为了一种非常常见的数据交换格式。在C语言中&#…

【Android】android studio简单实现图书馆借阅管理系统

希望文章能给到你启发和灵感&#xff5e; 点赞收藏关注 支持一下吧&#xff5e; 阅读指南 序幕一、基础环境说明1.1 硬件环境1.2 软件环境 二、整体设计2.1 数据库逻辑处理&#xff1a;2.2 登录/注册模块2.3 功能界面初始化&#xff1a;2.4 图书管理模块2.5 图书租借服务2.6 读…

[物联网专题] - 螺钉式接线端子的选择和辨识

工业设备上大量使用各式各样的端子来连接外部设备和电缆电线&#xff0c;其中用得最多的就是标准的螺钉式端子&#xff0c;其外形如下&#xff1a; 标准端子一般是2位&#xff08;2个接线端子&#xff09;&#xff0c;端子与端子之间可以级联&#xff0c;组成任意数量的位数。…

vue项目无后台版本打包上传到服务器

打包项目 也可以在文件目录下npm run build 生成dist文件夹 将dist文件夹里的所有文件拷贝到站点的根目录&#xff0c;这里使用宝塔面板进行操作 前提你得先创建站点&#xff0c;域名绑定等操作

项目菜单配置

stores/index.js import {createStore } from "vuex"; //计算高度 let height window.innerHeight;//计算分辨率 let width window.innerWidth;let activeIndex localStorage.getItem("activeIndex"); if (activeIndex null || activeIndex "&q…

制图工具(14)导出图层字段属性信息表

在制图工具&#xff08;13&#xff09;地理数据库初始化工具中我们提到&#xff0c;有一个参数为&#xff1a;“输入Excel表”&#xff0c;并要求表格中的图层字段属性项需要按工具的帮助文档中的示例进行组织… 如下图&#xff1a; 此外&#xff0c;总有那个一个特别的需求&am…

【单片机毕业设计选题24028】-基于STM32的大棚温湿度采集系统

系统功能: 系统分为手动和自动模式&#xff0c;上电默认为自动模式&#xff0c;自动模式下系统根据采集到的传感器值 自动控制&#xff0c;温度过低后自动开启加热&#xff0c;湿度过高后自动开启通风&#xff0c;光照过低后自动开启补 光&#xff0c;水位过低后自动开启水泵…

Android 界面库 (二) 之 Data binding 详细介绍

1. 简介 回顾我们在前面文章《Android 界面库 (一) 之 View binding 简单使用》中学习的 View Binding&#xff0c;它旨在简化 View 与代码之间的绑定过程。它会在编译时期为每个 XML 布局文件生成相应的绑定类(Binding class)&#xff0c;该类里包含了布局文件每个有 ID 的 Vi…

L59---101.对称二叉树(广搜)---Java版

1.题目描述 2.思路和知识点 &#xff08;1)根节点为空&#xff1a; 如果根节点为空&#xff0c;树是对称的。 (2)递归检查&#xff1a; isMirror 方法递归检查两个子树是否是镜像对称的。 (3)辅助函数 isMirror&#xff1a; 1)如果两个节点都为空&#xff0c;它们是镜像对称的…

php composer 报错

引用文章&#xff1a; Composer设置国内镜像_composer 国内源-CSDN博客 php composer.phar require --prefer-dist yiidoc/yii2-redactor "*" A connection timeout was encountered. If you intend to run Composer without connecting to the internet, run the …

day49---数据结构与算法(四)

三. 基础算法 3.1 查找概述 查找算法是一种在数据集中寻找特定数据项的方法。通常&#xff0c;数据集是在计算机程序中存储的&#xff0c;例如数组、链表或散列表。在编写程序时&#xff0c;查找算法是非常重要的&#xff0c;它有助于快速找到所需的数据。在本文中&#xff0…