MatrixOne从入门到实践02——源码编译
MatrixOne从入门到实践——源码编译
在部署MatrixOne前,我们可能会比较纠结使用哪个版本合适,MatrixOne在github上有各个版本的Releases,包含源码包和适用于Linux系统和MAC系统的二进制文件,但如果我们需要体验main分支上最新的功能的时候,我们可以直接使用源码编译,来获取到最新代码的二进制部署文件。本文源码编译主要是针对应用场景最为广泛的Linux系统进行的源码编译。
编译环境
| 硬件环境 | 操作系统 | 内存 | CPU | 磁盘 |
|---|---|---|---|---|
| Windows环境下的Linux虚拟机 | Linux version 3.10.0-1160.el7.x86_64 | 4G | 4C | 25G |
环境准备
安装GO环境
下载
# 下载地址
https://studygolang.com/dl
# 这里将go安装至 /home/go目录下,可以在上面网址选择对应版本的安装包之后,上传至安装目录
选择对应版本下载,如我这里下载的是 go1.19.linux-amd64.tar.gz
安装GO环境
创建安装目录
mkdir -p /home/go && cd /home/go
解压
tar -C /home/go -zxvf go1.19.linux-amd64.tar.gz
配置环境变量
vi /etc/profile
# 增加以下内容
# 在/etc/profile最后一行添加
export GOROOT=/usr/local/go
export PATH=$PATH:$GOROOT/bin # 保存退出后,source一下
source /etc/profile
检查GO环境
# 执行 go命令
go version
# 能出现如下的go的版本即可
go version go1.19 linux/amd64
获取源码
创建源码编译目录
mkdir -p /home/matrixone && cd /home/matrixone
获取源码
# git clone
git clone https://github.com/matrixorigin/matrixone.git
# 切换分支
git checkout 0.5.1 (可选)
# 进入源码目录
cd ./matrixone
编译源码并启动
编译源码(在线编译)
# 需要网络环境支持
# 配置go的依赖下载加速
go env -w GOPROXY=https://mirrors.aliyun.com/goproxy/,direct
#编译
make config
make build
可能会遇到的问题
在执行make build时 :gcc编译标准问题(PR : 4868) (已解决)
‘for’ loop initial declarations are only allowed in C99 mode
解决方案
在cgo的Makefile中加入编译标准
# vi ./cgo/Makefile
# 将原本的
CFLAGS=-I./external/decNumber -g ${OPT_LV} -Wall -Werror
# 修改为
CFLAGS=-std=c99 -I./external/decNumber -g ${OPT_LV} -Wall -Werror
编译源码(离线编译)
找一个有网络环境的机器,执行上述步骤,可以不执行make build,依赖下载完成后,将 $GOPATH/pkg/mod 中的依赖项,复制到没有网络环境机器的 $GOPATH/pkg/mod下,然后执行:
go env -w GO111MODULE=off 关闭
参数解释:
GO111MODULE=off 无模块支持,go 会从 GOPATH 和 vendor 文件夹寻找包。
GO111MODULE=on 模块支持,go 会忽略 GOPATH 和 vendor 文件夹,只根据 go.mod 下载依赖。
GO111MODULE=auto 在 $GOPATH/src 外面且根目录有 go.mod 文件时,开启模块支持
启动服务
默认配置启动
编译完成后,会在matrixone目录下生成二进制文件:mo-service,此时启动服务即可
./mo-service -cfg ./etc/cn-standalone-test.toml
# 如需后台启动可以使用,启动后的运行日志会输出到当前目录下名为nohup.out的文件中,也可自己选择重定向输出
nohup ./mo-service -cfg ./etc/cn-standalone-test.toml &
自定义配置启动
如果启动有特殊需求,比如想自定义密码,端口等等信息,可以编辑system_vars_config.toml文件,修改对应参数即可。
该功能会在参考手册章节的系统配置详细讲解
连接MO服务
安装mysql client
卸载mariadb
# 查询有无相关依赖
rpm -qa |grep mariadb
# 卸载相关依赖
rpm -e xxx
安装mysql-client
# 下载以下rpm包
https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-community-common-5.7.35-1.el7.x86_64.rpm https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-community-libs-5.7.35-1.el7.x86_64.rpm https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-community-client-5.7.35-1.el7.x86_64.rpm
# 安装rpm
rpm -ivh mysql-community-common-5.7.35-1.el7.x86_64.rpm rpm -ivh mysql-community-libs-5.7.35-1.el7.x86_64.rpm rpm -ivh mysql-community-client-5.7.35-1.el7.x86_64.rpm
使用mysql-client连接
mysql -h 192.168.110.170 -P6001 -uroot -p
连接成功后
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1001
Server version: 0.5.0 MatrixOne Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
MatrixOne从入门到实践02——源码编译的更多相关文章
- MatrixOne从入门到实践03——部署MatrixOne
MatrixOne从入门到实践--部署MatrixOne 前两章节我们简单介绍了MatrixOne和源码编译了MatrixOne.本章节将使用不同的部署方式,来部署MatrixOne的服务. 注意:不 ...
- MatrixOne从入门到实践08——SSB性能测试
MatrixOne从入门到实践--SSB性能测试 SSB 星型模式基准测试是 OLAP 数据库性能测试的常用场景,通过本篇教程,您可以了解到如何在 MatrixOne 中实现 SSB 测试. 测试环境 ...
- MySQL数据库企业级应用实践(多实例源码编译)
MySQL数据库企业级应用实践(多实例源码编译) 链接:https://pan.baidu.com/s/1ANGg3Kd_28BzQrA5ya17fQ 提取码:ekpy 复制这段内容后打开百度网盘手机 ...
- MySQL数据库的二进制安装、源码编译和基础入门操作
一.MySQL安装 (1)安装方式: 1 .程序包yum安装 优点:安装快,简单 缺点:定死了各个文件的地方,需要修改里边的相关配置文件,很麻烦 2 .二进制格式的程序包:展开至特定路径,并经过简单配 ...
- 源码编译安装 MySQL 5.5.x 实践
1.安装cmakeMySQL从5.5版本开始,通过./configure进行编译配置方式已经被取消,取而代之的是cmake工具.因此,我们首先要在系统中源码编译安装cmake工具. # wget ht ...
- 源码编译安装 MySQL 5.5.x 实践(转)
1.安装cmakeMySQL从5.5版本开始,通过./configure进行编译配置方式已经被取消,取而代之的是cmake工具.因此,我们首先要在系统中源码编译安装cmake工具. # wget ht ...
- 小D课堂 - 零基础入门SpringBoot2.X到实战_第9节 SpringBoot2.x整合Redis实战_38、源码编译安装Redis4.x
笔记 2.源码编译安装Redis4.x 简介:使用源码安装Redis4.x和配置外网访问 1.快速安装 https://redis.io/download#installation ...
- Dubbo入门到精通学习笔记(十九):MySQL源码编译安装、MySQL主从复制的配置
文章目录 MySQL 源码编译安装(CentOS-6.6+MySQL-5.6) 一.服务器配置: 二.源码安装 MySQL5.6.26: MySQL主从复制的配置 环境 依赖课程 MySQL 主从复制 ...
- Linux 源码编译Python 3.6
Linux 源码编译Python 3.6 1.操作系统以及版本显示 # uname -sr Linux 3.10.0-514.el7.x86_64 # uname -sr Linux 3.10.0-5 ...
随机推荐
- Go语言基础三:基本数据类型和运算符
Go语言数据类型 与其他编程语言一样,Go语言提供了各种数据类型,可分为基本的数据类型和复杂的数据类型.基本的数据类型就是基本的构造块,例如字符串.数字和布尔值.复杂的数据类型是用户自己定义的结构,由 ...
- 如何给MySQL添加自定义语法 ?
目录 1 背景 2 新增关键词(token) 3 新增语法 4 类似于PT_partition添加对应的数据结构global_partition_clause 1 背景 MySQL语法解析器用的bis ...
- 6.14 YZBOI模拟赛solution
\(6.14\ YZBOI\)模拟赛\(solution\) 本来不想写题解来着...毕竟是自己找的题还是写一写吧 上午为了整活,就把赛制改成\(IOI\)赛制了,于是乎拯救了大家的\(70pts\) ...
- 选择结构——嵌套 if 控制语句
1.嵌套 if 控制语句 概念: 在 if 控制语句中又包含一个或多个 if 控制语句的简称为嵌套 if 控制语句.嵌套 if 控制语句可以通过外层语句和内层语句的协作,来增强程序的灵活性. 语法格式 ...
- 抖音 滑块验证方案 s_v_web_id 参数分析
本文所有教程及源码.软件仅为技术研究.不涉及计算机信息系统功能的删除.修改.增加.干扰,更不会影响计算机信息系统的正常运行.不得将代码用于非法用途,如侵立删! 抖音web端 s_v_web_id 参数 ...
- Python 实现列表与二叉树相互转换并打印二叉树16-详细注释+完美对齐-OK
# Python 实现列表与二叉树相互转换并打印二叉树16-详细注释+完美对齐-OK from binarytree import build import random # https://www. ...
- 如何在BI中增加“路线地图”并进行数据分析?
随着客户的需求越来越"百变",最近在做大屏设计的葡萄陷入了困境. 近期客户提出的需求是想在BI工具中增加 "路线地图"展示功能并进行数据分析. 不仅如此,这个& ...
- django中的自定义分页器
1.什么是自定义分页器 当我们需要在前端页面展示的数据太多的时候,我们总不能将数据展示在一页上面吧!这时,我们就需要自定义一个分页器,将数据分成特定的页数进行展示,每一页展示固定条数的数据! 2.为什 ...
- HCIA-Datacom 2.2 实验:OSPF路由协议基础实验
前言:才发现IA也要学OSPF,忍不住吐槽一句,现在太卷了! OSPF简介: 开放式最短路径优先OSPF(Open Shortest Path First)是IETF组织开发的一个基于链路状态的内部网 ...
- 一个dcache的性能问题分析
如何识别并解决复杂的dcache问题 背景:这个是在centos7.6的环境上复现的,但该问题其实在很多内核版本上都有, 如何做好对linux一些缓存的监控和控制,一直是云计算方向的热点,但这些热点 ...