MatrixOne Linux 编译文档

# MatrixOne Linux 编译文档

## 编译环境

| 硬件环境                  | 操作系统                            | 内存 | CPU  | 磁盘 |

| -------------------------- | ------------------------------------ | ---- | ---- | ---- |

| Windows环境下的Linux虚拟机 | Linux version 3.10.0-1160.el7.x86_64 | 4G  | 4C  | 25G  |

## 环境准备

### 安装GO环境

#### 下载

````shell

# 下载地址

https://studygolang.com/dl

# 这里将go安装至 /home/go目录下,可以在上面网址选择对应版本的安装包之后,上传至安装目录

````

选择对应版本下载,如我这里下载的是 [go1.19.linux-amd64.tar.gz](https://studygolang.com/dl/golang/go1.19.linux-amd64.tar.gz)

#### 安装GO环境

* 创建安装目录

  ````shell

  mkdir -p /home/go && cd /home/go

  ````

* 解压

  ````shell

  tar -C /home/go -zxvf go1.19.linux-amd64.tar.gz

  ````

* 配置环境变量

  ````shell

  vi /etc/profile

  # 增加以下内容

  # 在/etc/profile最后一行添加

  export GOROOT=/usr/local/go

  export PATH=$PATH:$GOROOT/bin


  # 保存退出后,source一下

  source /etc/profile

  ````

* 检查GO环境

  ````shell

  # 执行 go命令

  go version

  # 能出现如下的go的版本即可

  go version go1.19 linux/amd64

  ````

## 获取源码

* 创建源码编译目录

  ````shell

  mkdir -p /home/matrixone && cd /home/matrixone

  ````

* 获取源码

  ````shell

  # git clone

  git clone https://github.com/matrixorigin/matrixone.git

  # 切换分支

  git checkout 0.5.1 (可选)

  # 进入源码目录

  cd ./matrixone

  ````

## 编译源码并启动

### 编译源码(在线编译)

````shell

# 需要网络环境支持

# 配置go的依赖下载加速

go env -w GOPROXY=https://mirrors.aliyun.com/goproxy/,direct

#编译

make config

make build

````

* 可能会遇到的问题

  * 在执行make build时 :gcc编译标准问题([PR : 4868](https://github.com/matrixorigin/matrixone/pull/4868)))

    ````shell

    ‘for’ loop initial declarations are only allowed in C99 mode

    ````

    * 解决方案

      在cho的Makefile中加入编译标准

      ````shell

      # 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``下,然后执行:

  ````shell

  go env -w GO111MODULE=off 关闭

  ````

  参数解释:

  ````shell

  GO111MODULE=off 无模块支持,go 会从 GOPATH 和 vendor 文件夹寻找包。

  GO111MODULE=on 模块支持,go 会忽略 GOPATH 和 vendor 文件夹,只根据 go.mod 下载依赖。

  GO111MODULE=auto 在 $GOPATH/src 外面且根目录有 go.mod 文件时,开启模块支持

  ````

### 启动服务

编译完成后,会在matrixone目录下生成二进制文件:**mo-service**,此时启动服务即可

````shell

./mo-service -cfg ./etc/cn-standalone-test.toml

````

## 连接MO服务

### 安装mysql client

* 卸载mariadb

  ````shell

  # 查询有无相关依赖

  rpm -qa |grep mariadb

  # 卸载相关依赖

  rpm -e xxx

  ````

* 安装mysql-client

  ````shell

  # 下载以下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连接

````shell

mysql -h 192.168.110.170 -P6001 -uroot -p

````

* 连接成功后

  ````sql

  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>


  ````

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,530评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 86,403评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,120评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,770评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,758评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,649评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,021评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,675评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,931评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,659评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,751评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,410评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,004评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,969评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,042评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,493评论 2 343

推荐阅读更多精彩内容