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 $ROOT/dms
make docker_install
cp -r $ROOT/dms/bin $ROOT/sqle/bin
cd $ROOT/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

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

ROOT=$PWD
rpm -qa | grep sqle | sudo xargs rpm -e
systemctl stop dms
systemctl stop sqled
rm -rf /opt/sqle
rm -f sqle/sqle-ce-*.rpm

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

RPM=$(find . -type f -name "sqle-ce*.rpm")
rpm -ivh --replacefiles $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这种格式
结合下面的这个插件安装方式,即使远程连接也能代码补全
在这里插入图片描述
等待相关工具下完后就行了
在这里插入图片描述
悬停能出现文档了
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值