From 95791af281b16aedaa02297267d5714d34465669 Mon Sep 17 00:00:00 2001 From: cyan Date: Tue, 22 Aug 2023 16:55:45 +0800 Subject: [PATCH 01/18] add a Tutorial:gorm-golang-crud-demo Signed-off-by: cyan --- .../connect-to-matrixone-with-go.md | 55 ++- .../Tutorial/gorm-golang-crud-demo.md | 393 ++++++++++++++++++ mkdocs.yml | 1 + 3 files changed, 446 insertions(+), 3 deletions(-) create mode 100644 docs/MatrixOne/Tutorial/gorm-golang-crud-demo.md diff --git a/docs/MatrixOne/Develop/connect-mo/connect-to-matrixone-with-go.md b/docs/MatrixOne/Develop/connect-mo/connect-to-matrixone-with-go.md index cacab793e8..f5eef1e0d1 100644 --- a/docs/MatrixOne/Develop/connect-mo/connect-to-matrixone-with-go.md +++ b/docs/MatrixOne/Develop/connect-mo/connect-to-matrixone-with-go.md @@ -9,7 +9,6 @@ MatrixOne 支持 Golang 连接,并且支持 [`Go-MySQL-Driver`](https://github - 已完成[安装并启动 MatrixOne](../../Get-Started/install-standalone-matrixone.md)。 - 已安装 [Golang 1.18 版本及以上](https://go.dev/dl/),如果你没有安装,可以点击 [Golang 1.18 版本及以上](https://go.dev/dl/)至官方网站进行下载安装;如果你已安装,可以使用下面的命令行检查版本: - ``` #检查 Golang 版本号,确认是否安装 go version @@ -41,7 +40,7 @@ go version 3. 创建一个纯文本文件 *golang_connect_matrixone.go* 并将代码写入文件: - ```python + ```go package main import ( @@ -71,6 +70,56 @@ go version Database Connection Succeed ``` +## 使用 Gorm 连接 MatrixOne 服务 + +```gorm```是一个基于golang的一个神奇的全功能ORM库,我们将使用```gorm.io/gorm```和```gorm.io/driver/mysql```这两个库来让Go连接到MYSQL数据库。 + +1. 安装```gorm.io/gorm```和```gorm.io/driver/mysql```库,使用```go get```命令安装: + ``` + go get -u gorm.io/gorm + go get -u gorm.io/driver/mysql + ``` +2. 使用 MySQL 客户端连接 MatrixOne。新建一个名称为 *test* 数据库: + ```sql + mysql> create database test; + ``` + +3. 创建一个文本文件 *golang_gorm_connect_matrixone.go* 并将代码写入文件: + ```go + package main + import ( + "gorm.io/driver/mysql" + "gorm.io/gorm" + "fmt" + ) + func getDBConn() *gorm.DB { + dsn := "root:111@tcp(127.0.0.1:6001)/test?charset=utf8mb4&parseTime=True&loc=Local" //MO + db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{ + }) + // get connection + if err != nil { + fmt.Println("Database Connection Failed") //Connection failed + } else { + fmt.Println("Database Connection Succeed") //Connection succeed + } + return db + } + func main() { + getDBConn() + } + ``` +4. 打开一个终端,在终端内执行下面的命令: + ``` + > go run golang_gorm_connect_matrixone.go + Database Connection Succeed + ``` + + + + + ## 参考文档 -关于使用 Golang 通过 MatrixOne 构建一个简单的 CRUD 的示例,参见[构建一个 Golang CRUD 示例](../../Tutorial/develop-golang-crud-demo.md)。 +关于使用 Golang 通过 MatrixOne 构建一个简单的 CRUD 的示例,参见[Golang 基础示例](../../Tutorial/develop-golang-crud-demo.md)。 + +关于使用 Gorm 通过 MatrixOne 构建一个简单的 CRUD 的示例,参见[Gorm 基础示例](../../Tutorial/gorm-golang-crud-demo.md)。 diff --git a/docs/MatrixOne/Tutorial/gorm-golang-crud-demo.md b/docs/MatrixOne/Tutorial/gorm-golang-crud-demo.md new file mode 100644 index 0000000000..ce064105fd --- /dev/null +++ b/docs/MatrixOne/Tutorial/gorm-golang-crud-demo.md @@ -0,0 +1,393 @@ +# gorm基础示例 + +本篇文档将指导你如何使用 **golang** 和 **gorm** 构建一个简单的应用程序,并实现 CRUD(创建、读取、更新、删除)功能。 + +**Gorm** 是 Python 语言中最流行的 ORM 工具之一。 + +## 开始前准备 + +相关软件的简单介绍: + +* Gorm:基于golang的一个神奇的全功能ORM库,本次教程主要通过使用```gorm.io/gorm```和```gorm.io/driver/mysql```这两个库来让Go连接到MYSQL数据库并完成CRUD操作。 + + + +### 环境配置 + +在你开始之前,确认你已经下载并安装了如下软件: + +- 确认你已完成[单机部署 MatrixOne](../Get-Started/install-standalone-matrixone.md)。通过 MySQL 客户端连接 MatrixOne 并创建一个命名为 *test* 的数据库: + ``` + mysql> create database test; + ``` + +- 确认你已完成安装 [Golang 1.18 版本及以上](https://go.dev/dl/),可以使用下面的命令行确认你的 Golang 版本: + ``` + #To check with Golang installation and its version + go version + ``` + +- 确认你已完成安装 MySQL 客户端。 + +- 确认你已经安装`gorm.io/gorm`以及`gorm.io/driver/mysql`,使用`go get`命令安装,代码如下: + ``` + go get -u gorm.io/gorm + go get -u gorm.io/driver/mysql + ``` + +你可以参考 [Golang 连接 MatrixOne 服务](../Develop/connect-mo/connect-to-matrixone-with-go.md)了解如何通过 `Gorm` 连接到 MatrixOne,本篇文档将指导你如何实现 CRUD(创建、读取、更新、删除)。 + + +## 新建表 +作为对象关系映射器(ORM)工具, `Gorm` 允许开发人员创建 GO 类来映射关系数据库中的表。 + +在下面的代码示例中,将创建一个 `USER` 类,这里的类名和属性名称必须使用大写英文开头以保证`public`访问,否则不能创建。`USER` 类在`GORM`的作用下将转化为一条`SQL`语句,创建表名为`users` 的表。 + +新建一个 `gorm_create.go` 的文本文件,将以下代码拷贝粘贴到文件内: +```go +package main +import ( + "fmt" + + "gorm.io/driver/mysql" + "gorm.io/gorm" + "gorm.io/gorm/logger" +) +// user model +type USER struct { + ID uint `gorm:"primaryKey"` + CNAME string + CADDRESS string +} + +func getDBConn() *gorm.DB { + dsn := "root:111@tcp(127.0.0.1:6001)/test?charset=utf8mb4&parseTime=True&loc=Local" //MO + db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{ + // Logger: logger.Default.LogMode(logger.Info), //print SQL + }) + // get connection + if err != nil { + fmt.Println("Database Connection Failed") //Connection failed + } else { + fmt.Println("Database Connection Succeed") //Connection succeed + } + return db +} + +func main() { + //get *gorm.DB + db := getDBConn() + + // auto create table + db.AutoMigrate(&USER{}) +} + +``` +你可以取消注释```Logger: logger.Default.LogMode(logger.Info)```以把转化后的```SQL```输出出来。 +打开终端,使用以下代码运行此 *go* 文件: + +``` +go run gorm_create.go +``` + +你可以使用 MySQL 客户端验证表是否创建成功: +```sql +mysql> show tables; ++----------------+ +| Tables_in_test | ++----------------+ +| users | ++----------------+ +1 row in set (0.01 sec) +``` + +## 插入数据 + +下面的演示中,将指导你在刚刚创建的`users`表中插入两条数据记录,这里的`ID`默认是自增的,也可以指定为固定的值。 +新建一个 `gorm_insert.go` 的文本文件,将以下代码拷贝粘贴到文件内: + +```go +package main +import ( + "fmt" + + "gorm.io/driver/mysql" + "gorm.io/gorm" + "gorm.io/gorm/logger" +) +// user model +type USER struct { + ID uint `gorm:"primaryKey"` + CNAME string + CADDRESS string +} + +func getDBConn() *gorm.DB { + dsn := "root:111@tcp(127.0.0.1:6001)/test?charset=utf8mb4&parseTime=True&loc=Local" //MO + db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{}) + // get connection + if err != nil { + fmt.Println("Database Connection Failed") //Connection failed + } else { + fmt.Println("Database Connection Succeed") //Connection succeed + } + return db +} + +func main() { + //get *gorm.DB + db := getDBConn() + + // auto create table + db.AutoMigrate(&USER{}) + + // **Insert users** + users := []USER{ + { + // ID: 1, //autoincrement + CNAME: "lili", + CADDRESS: "Shanghai"}, + { + ID: 111, + CNAME: "zhang", + CADDRESS: "Biejing", + }, + } + + db.Create(users) + +} + +``` +打开终端,使用以下代码运行此 *go* 文件: + +``` +go run gorm_insert.go +``` + +同样的,终端也会输出SQL语句,你可以使用 MySQL 客户端验证表是否成功插入数据: +```sql +mysql> select * from users; ++------+-------+----------+ +| id | cname | caddress | ++------+-------+----------+ +| 1 | lili | Shanghai | +| 111 | zhang | Biejing | ++------+-------+----------+ +2 rows in set (0.01 sec) +``` + +## 查询数据 + +下面的演示中,将指导你用条件查询部分数据,查询`CNAME=zhang`的数据。 +新建一个 `gorm_query.go` 的文本文件,将以下代码拷贝粘贴到文件内: + +```go +package main +import ( + "fmt" + + "gorm.io/driver/mysql" + "gorm.io/gorm" + "gorm.io/gorm/logger" +) +// user model +type USER struct { + ID uint `gorm:"primaryKey"` + CNAME string + CADDRESS string +} + +func getDBConn() *gorm.DB { + dsn := "root:111@tcp(127.0.0.1:6001)/test?charset=utf8mb4&parseTime=True&loc=Local" //MO + db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{}) + // get connection + if err != nil { + fmt.Println("Database Connection Failed") //Connection failed + } else { + fmt.Println("Database Connection Succeed") //Connection succeed + } + return db +} + +func main() { + //get *gorm.DB + db := getDBConn() + + // auto create table + db.AutoMigrate(&USER{}) + + // **Query—— String condition** + res := USER{} + tx := db.Where("CNAME = ? ", "zhang").Find(&USER{}).Scan(&res) + if tx.Error != nil { + fmt.Println(tx.Error) + return + } + fmt.Println(res) + +} + +``` + +打开终端,使用以下代码运行此 *go* 文件: + +``` +go run gorm_query.go + +``` +终端的输出结果中将包含以下数据: +``` +{111 zhang Biejing} +``` + +## 更新数据 + +下面的演示中,将指导你如何更新数据。 +新建一个 `gorm_update.go` 的文本文件,将以下代码拷贝粘贴到文件内: + + +```go +package main +import ( + "fmt" + + "gorm.io/driver/mysql" + "gorm.io/gorm" + "gorm.io/gorm/logger" +) +// user model +type USER struct { + ID uint `gorm:"primaryKey"` + CNAME string + CADDRESS string +} + +func getDBConn() *gorm.DB { + dsn := "root:111@tcp(127.0.0.1:6001)/test?charset=utf8mb4&parseTime=True&loc=Local" //MO + db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{}) + // get connection + if err != nil { + fmt.Println("Database Connection Failed") //Connection failed + } else { + fmt.Println("Database Connection Succeed") //Connection succeed + } + return db +} + +func main() { + //get *gorm.DB + db := getDBConn() + + // auto create table + db.AutoMigrate(&USER{}) + + // **Update** + aUser := USER{} + tx := db.Where("CNAME = ? ", "zhang").Find(&USER{}).Scan(&aUser) + if tx.Error != nil { + fmt.Println(tx.Error) + return + } + res:=db.Model(&aUser).Update("CADDRESS", "HongKong") + if res.Error != nil { + fmt.Println(tx.Error) + return + } + +} + +``` +打开终端,使用以下代码运行此 *go* 文件: + +``` +go run gorm_update.go + +``` +你可以使用 MySQL 客户端验证表是否更新成功: +```sql +mysql> select * from users; ++------+-------+----------+ +| id | cname | caddress | ++------+-------+----------+ +| 111 | zhang | HongKong | +| 1 | lili | Shanghai | ++------+-------+----------+ +2 rows in set (0.00 sec) +``` + +## 删除数据 + +下面的演示中,将指导你如何进行单条数据的删除。需要注意的是,在删除单条记录时,需要指定主键,否则可能会触发批量删除。 +新建一个 `gorm_delete.go` 的文本文件,将以下代码拷贝粘贴到文件内: + +```go +package main +import ( + "fmt" + + "gorm.io/driver/mysql" + "gorm.io/gorm" + "gorm.io/gorm/logger" +) +// user model +type USER struct { + ID uint `gorm:"primaryKey"` + CNAME string + CADDRESS string +} + +func getDBConn() *gorm.DB { + dsn := "root:111@tcp(127.0.0.1:6001)/test?charset=utf8mb4&parseTime=True&loc=Local" //MO + db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{}) + // get connection + if err != nil { + fmt.Println("Database Connection Failed") //Connection failed + } else { + fmt.Println("Database Connection Succeed") //Connection succeed + } + return db +} + +func main() { + //get *gorm.DB + db := getDBConn() + + // auto create table + db.AutoMigrate(&USER{}) + + // **Delete** + aUser := USER{} + tx := db.Where("CNAME = ? ", "zhang").Find(&USER{}).Scan(&aUser) + if tx.Error != nil { + fmt.Println(tx.Error) + return + } + res := db.Delete(&aUser) + if res.Error != nil { + fmt.Println(tx.Error) + return + } + +} + +``` + +打开终端,使用以下代码运行此 *go* 文件: + +``` +go run gorm_delete.go + +``` +你可以使用 MySQL 客户端验证表是否删除成功: +```sql +mysql> select * from users; ++------+-------+----------+ +| id | cname | caddress | ++------+-------+----------+ +| 1 | lili | Shanghai | ++------+-------+----------+ +1 row in set (0.00 sec) +``` + +以上仅是GORM中CRUD操作的部分演示,更多的用法和案例可以参考[GORM官方指南](https://gorm.io/zh_CN/docs/index.html) diff --git a/mkdocs.yml b/mkdocs.yml index 83687d1ed8..60a3755dee 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -141,6 +141,7 @@ nav: - Python 基础示例: MatrixOne/Tutorial/develop-python-crud-demo.md - SQLAlchemy 基础示例: MatrixOne/Tutorial/sqlalchemy-python-crud-demo.md - Golang 基础示例: MatrixOne/Tutorial/develop-golang-crud-demo.md + - Gorm 基础示例: MatrixOne/Tutorial/gorm-golang-crud-demo.md - 部署指南: - 集群拓扑规划: - 体验环境: MatrixOne/Deploy/deployment-topology/experience-deployment-topology.md From 53b3a9d677425180f79307b57e6a5c6bae385fa8 Mon Sep 17 00:00:00 2001 From: cyan Date: Tue, 22 Aug 2023 18:06:54 +0800 Subject: [PATCH 02/18] bug lint --- .../connect-to-matrixone-with-go.md | 11 +++++---- .../Tutorial/gorm-golang-crud-demo.md | 24 ++++++++++++------- 2 files changed, 22 insertions(+), 13 deletions(-) diff --git a/docs/MatrixOne/Develop/connect-mo/connect-to-matrixone-with-go.md b/docs/MatrixOne/Develop/connect-mo/connect-to-matrixone-with-go.md index f5eef1e0d1..d7d96596ab 100644 --- a/docs/MatrixOne/Develop/connect-mo/connect-to-matrixone-with-go.md +++ b/docs/MatrixOne/Develop/connect-mo/connect-to-matrixone-with-go.md @@ -9,6 +9,7 @@ MatrixOne 支持 Golang 连接,并且支持 [`Go-MySQL-Driver`](https://github - 已完成[安装并启动 MatrixOne](../../Get-Started/install-standalone-matrixone.md)。 - 已安装 [Golang 1.18 版本及以上](https://go.dev/dl/),如果你没有安装,可以点击 [Golang 1.18 版本及以上](https://go.dev/dl/)至官方网站进行下载安装;如果你已安装,可以使用下面的命令行检查版本: + ``` #检查 Golang 版本号,确认是否安装 go version @@ -75,16 +76,20 @@ go version ```gorm```是一个基于golang的一个神奇的全功能ORM库,我们将使用```gorm.io/gorm```和```gorm.io/driver/mysql```这两个库来让Go连接到MYSQL数据库。 1. 安装```gorm.io/gorm```和```gorm.io/driver/mysql```库,使用```go get```命令安装: + ``` go get -u gorm.io/gorm go get -u gorm.io/driver/mysql ``` + 2. 使用 MySQL 客户端连接 MatrixOne。新建一个名称为 *test* 数据库: + ```sql mysql> create database test; ``` 3. 创建一个文本文件 *golang_gorm_connect_matrixone.go* 并将代码写入文件: + ```go package main import ( @@ -108,16 +113,14 @@ go version getDBConn() } ``` + 4. 打开一个终端,在终端内执行下面的命令: + ``` > go run golang_gorm_connect_matrixone.go Database Connection Succeed ``` - - - - ## 参考文档 关于使用 Golang 通过 MatrixOne 构建一个简单的 CRUD 的示例,参见[Golang 基础示例](../../Tutorial/develop-golang-crud-demo.md)。 diff --git a/docs/MatrixOne/Tutorial/gorm-golang-crud-demo.md b/docs/MatrixOne/Tutorial/gorm-golang-crud-demo.md index ce064105fd..aa3e37e83b 100644 --- a/docs/MatrixOne/Tutorial/gorm-golang-crud-demo.md +++ b/docs/MatrixOne/Tutorial/gorm-golang-crud-demo.md @@ -10,18 +10,18 @@ * Gorm:基于golang的一个神奇的全功能ORM库,本次教程主要通过使用```gorm.io/gorm```和```gorm.io/driver/mysql```这两个库来让Go连接到MYSQL数据库并完成CRUD操作。 - - ### 环境配置 在你开始之前,确认你已经下载并安装了如下软件: - 确认你已完成[单机部署 MatrixOne](../Get-Started/install-standalone-matrixone.md)。通过 MySQL 客户端连接 MatrixOne 并创建一个命名为 *test* 的数据库: + ``` mysql> create database test; ``` - 确认你已完成安装 [Golang 1.18 版本及以上](https://go.dev/dl/),可以使用下面的命令行确认你的 Golang 版本: + ``` #To check with Golang installation and its version go version @@ -30,6 +30,7 @@ - 确认你已完成安装 MySQL 客户端。 - 确认你已经安装`gorm.io/gorm`以及`gorm.io/driver/mysql`,使用`go get`命令安装,代码如下: + ``` go get -u gorm.io/gorm go get -u gorm.io/driver/mysql @@ -37,13 +38,11 @@ 你可以参考 [Golang 连接 MatrixOne 服务](../Develop/connect-mo/connect-to-matrixone-with-go.md)了解如何通过 `Gorm` 连接到 MatrixOne,本篇文档将指导你如何实现 CRUD(创建、读取、更新、删除)。 - ## 新建表 作为对象关系映射器(ORM)工具, `Gorm` 允许开发人员创建 GO 类来映射关系数据库中的表。 - 在下面的代码示例中,将创建一个 `USER` 类,这里的类名和属性名称必须使用大写英文开头以保证`public`访问,否则不能创建。`USER` 类在`GORM`的作用下将转化为一条`SQL`语句,创建表名为`users` 的表。 - 新建一个 `gorm_create.go` 的文本文件,将以下代码拷贝粘贴到文件内: + ```go package main import ( @@ -83,6 +82,7 @@ func main() { } ``` + 你可以取消注释```Logger: logger.Default.LogMode(logger.Info)```以把转化后的```SQL```输出出来。 打开终端,使用以下代码运行此 *go* 文件: @@ -91,6 +91,7 @@ go run gorm_create.go ``` 你可以使用 MySQL 客户端验证表是否创建成功: + ```sql mysql> show tables; +----------------+ @@ -159,6 +160,7 @@ func main() { } ``` + 打开终端,使用以下代码运行此 *go* 文件: ``` @@ -166,6 +168,7 @@ go run gorm_insert.go ``` 同样的,终端也会输出SQL语句,你可以使用 MySQL 客户端验证表是否成功插入数据: + ```sql mysql> select * from users; +------+-------+----------+ @@ -234,9 +237,10 @@ func main() { ``` go run gorm_query.go - ``` + 终端的输出结果中将包含以下数据: + ``` {111 zhang Biejing} ``` @@ -246,7 +250,6 @@ go run gorm_query.go 下面的演示中,将指导你如何更新数据。 新建一个 `gorm_update.go` 的文本文件,将以下代码拷贝粘贴到文件内: - ```go package main import ( @@ -298,13 +301,15 @@ func main() { } ``` + 打开终端,使用以下代码运行此 *go* 文件: ``` go run gorm_update.go - ``` + 你可以使用 MySQL 客户端验证表是否更新成功: + ```sql mysql> select * from users; +------+-------+----------+ @@ -377,9 +382,10 @@ func main() { ``` go run gorm_delete.go - ``` + 你可以使用 MySQL 客户端验证表是否删除成功: + ```sql mysql> select * from users; +------+-------+----------+ From b633aae0e547b983a5debfb73b190b3007f0ae7a Mon Sep 17 00:00:00 2001 From: cyan Date: Tue, 22 Aug 2023 18:33:08 +0800 Subject: [PATCH 03/18] bug lint --- .../Develop/connect-mo/connect-to-matrixone-with-go.md | 4 ++-- docs/MatrixOne/Tutorial/gorm-golang-crud-demo.md | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/MatrixOne/Develop/connect-mo/connect-to-matrixone-with-go.md b/docs/MatrixOne/Develop/connect-mo/connect-to-matrixone-with-go.md index d7d96596ab..2ae503945d 100644 --- a/docs/MatrixOne/Develop/connect-mo/connect-to-matrixone-with-go.md +++ b/docs/MatrixOne/Develop/connect-mo/connect-to-matrixone-with-go.md @@ -83,13 +83,13 @@ go version ``` 2. 使用 MySQL 客户端连接 MatrixOne。新建一个名称为 *test* 数据库: - + ```sql mysql> create database test; ``` 3. 创建一个文本文件 *golang_gorm_connect_matrixone.go* 并将代码写入文件: - + ```go package main import ( diff --git a/docs/MatrixOne/Tutorial/gorm-golang-crud-demo.md b/docs/MatrixOne/Tutorial/gorm-golang-crud-demo.md index aa3e37e83b..a9b552b9ad 100644 --- a/docs/MatrixOne/Tutorial/gorm-golang-crud-demo.md +++ b/docs/MatrixOne/Tutorial/gorm-golang-crud-demo.md @@ -39,6 +39,7 @@ 你可以参考 [Golang 连接 MatrixOne 服务](../Develop/connect-mo/connect-to-matrixone-with-go.md)了解如何通过 `Gorm` 连接到 MatrixOne,本篇文档将指导你如何实现 CRUD(创建、读取、更新、删除)。 ## 新建表 + 作为对象关系映射器(ORM)工具, `Gorm` 允许开发人员创建 GO 类来映射关系数据库中的表。 在下面的代码示例中,将创建一个 `USER` 类,这里的类名和属性名称必须使用大写英文开头以保证`public`访问,否则不能创建。`USER` 类在`GORM`的作用下将转化为一条`SQL`语句,创建表名为`users` 的表。 新建一个 `gorm_create.go` 的文本文件,将以下代码拷贝粘贴到文件内: From 30f65ce660008b1b184e9d79a011e8ea689ac7e0 Mon Sep 17 00:00:00 2001 From: cyan Date: Wed, 23 Aug 2023 10:25:48 +0800 Subject: [PATCH 04/18] fix bug lint gorm-demo --- .../Tutorial/gorm-golang-crud-demo.md | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/docs/MatrixOne/Tutorial/gorm-golang-crud-demo.md b/docs/MatrixOne/Tutorial/gorm-golang-crud-demo.md index a9b552b9ad..03dec05995 100644 --- a/docs/MatrixOne/Tutorial/gorm-golang-crud-demo.md +++ b/docs/MatrixOne/Tutorial/gorm-golang-crud-demo.md @@ -1,4 +1,4 @@ -# gorm基础示例 +# gorm 基础示例 本篇文档将指导你如何使用 **golang** 和 **gorm** 构建一个简单的应用程序,并实现 CRUD(创建、读取、更新、删除)功能。 @@ -8,7 +8,7 @@ 相关软件的简单介绍: -* Gorm:基于golang的一个神奇的全功能ORM库,本次教程主要通过使用```gorm.io/gorm```和```gorm.io/driver/mysql```这两个库来让Go连接到MYSQL数据库并完成CRUD操作。 +* Gorm:基于 golang 的一个神奇的全功能 ORM 库,本次教程主要通过使用 ```gorm.io/gorm``` 和 ```gorm.io/driver/mysql``` 这两个库来让 Go 连接到 MYSQL 数据库并完成 CRUD 操作。 ### 环境配置 @@ -29,7 +29,7 @@ - 确认你已完成安装 MySQL 客户端。 -- 确认你已经安装`gorm.io/gorm`以及`gorm.io/driver/mysql`,使用`go get`命令安装,代码如下: +- 确认你已经安装 `gorm.io/gorm` 以及 `gorm.io/driver/mysql`,使用 `go get` 命令安装,代码如下: ``` go get -u gorm.io/gorm @@ -40,8 +40,8 @@ ## 新建表 -作为对象关系映射器(ORM)工具, `Gorm` 允许开发人员创建 GO 类来映射关系数据库中的表。 -在下面的代码示例中,将创建一个 `USER` 类,这里的类名和属性名称必须使用大写英文开头以保证`public`访问,否则不能创建。`USER` 类在`GORM`的作用下将转化为一条`SQL`语句,创建表名为`users` 的表。 +作为对象关系映射器(ORM)工具,`Gorm` 允许开发人员创建 GO 类来映射关系数据库中的表。 +在下面的代码示例中,将创建一个 `USER` 类,这里的类名和属性名称必须使用大写英文开头以保证 `public` 访问,否则不能创建。`USER` 类在 `GORM` 的作用下将转化为一条 `SQL` 语句,创建表名为 `users` 的表。 新建一个 `gorm_create.go` 的文本文件,将以下代码拷贝粘贴到文件内: ```go @@ -84,7 +84,7 @@ func main() { ``` -你可以取消注释```Logger: logger.Default.LogMode(logger.Info)```以把转化后的```SQL```输出出来。 +你可以取消注释 ```Logger: logger.Default.LogMode(logger.Info)``` 以把转化后的 ```SQL``` 输出出来。 打开终端,使用以下代码运行此 *go* 文件: ``` @@ -105,7 +105,7 @@ mysql> show tables; ## 插入数据 -下面的演示中,将指导你在刚刚创建的`users`表中插入两条数据记录,这里的`ID`默认是自增的,也可以指定为固定的值。 +下面的演示中,将指导你在刚刚创建的 `users` 表中插入两条数据记录,这里的 `ID` 默认是自增的,也可以指定为固定的值。 新建一个 `gorm_insert.go` 的文本文件,将以下代码拷贝粘贴到文件内: ```go @@ -168,7 +168,7 @@ func main() { go run gorm_insert.go ``` -同样的,终端也会输出SQL语句,你可以使用 MySQL 客户端验证表是否成功插入数据: +同样的,终端也会输出 SQL 语句,你可以使用 MySQL 客户端验证表是否成功插入数据: ```sql mysql> select * from users; @@ -183,7 +183,7 @@ mysql> select * from users; ## 查询数据 -下面的演示中,将指导你用条件查询部分数据,查询`CNAME=zhang`的数据。 +下面的演示中,将指导你用条件查询部分数据,查询 `CNAME=zhang` 的数据。 新建一个 `gorm_query.go` 的文本文件,将以下代码拷贝粘贴到文件内: ```go @@ -397,4 +397,4 @@ mysql> select * from users; 1 row in set (0.00 sec) ``` -以上仅是GORM中CRUD操作的部分演示,更多的用法和案例可以参考[GORM官方指南](https://gorm.io/zh_CN/docs/index.html) +以上仅是 GORM 中 CRUD 操作的部分演示,更多的用法和案例可以参考 [GORM 官方指南](https://gorm.io/zh_CN/docs/index.html) From d9c072ad740b14184ab08343188303ccab729365 Mon Sep 17 00:00:00 2001 From: cyan Date: Wed, 23 Aug 2023 13:43:00 +0800 Subject: [PATCH 05/18] fix lint connect-MO-with-go --- .../Develop/connect-mo/connect-to-matrixone-with-go.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/MatrixOne/Develop/connect-mo/connect-to-matrixone-with-go.md b/docs/MatrixOne/Develop/connect-mo/connect-to-matrixone-with-go.md index 2ae503945d..697fd705b2 100644 --- a/docs/MatrixOne/Develop/connect-mo/connect-to-matrixone-with-go.md +++ b/docs/MatrixOne/Develop/connect-mo/connect-to-matrixone-with-go.md @@ -73,9 +73,9 @@ go version ## 使用 Gorm 连接 MatrixOne 服务 -```gorm```是一个基于golang的一个神奇的全功能ORM库,我们将使用```gorm.io/gorm```和```gorm.io/driver/mysql```这两个库来让Go连接到MYSQL数据库。 +```gorm``` 是一个基于 golang 的一个神奇的全功能 ORM 库,我们将使用 ```gorm.io/gorm``` 和 ```gorm.io/driver/mysql``` 这两个库来让 Go 连接到 MYSQL 数据库。 -1. 安装```gorm.io/gorm```和```gorm.io/driver/mysql```库,使用```go get```命令安装: +1. 安装 ```gorm.io/gorm``` 和 ```gorm.io/driver/mysql``` 库,使用 ```go get``` 命令安装: ``` go get -u gorm.io/gorm @@ -123,6 +123,6 @@ go version ## 参考文档 -关于使用 Golang 通过 MatrixOne 构建一个简单的 CRUD 的示例,参见[Golang 基础示例](../../Tutorial/develop-golang-crud-demo.md)。 +关于使用 Golang 通过 MatrixOne 构建一个简单的 CRUD 的示例,参见 [Golang 基础示例](../../Tutorial/develop-golang-crud-demo.md)。 -关于使用 Gorm 通过 MatrixOne 构建一个简单的 CRUD 的示例,参见[Gorm 基础示例](../../Tutorial/gorm-golang-crud-demo.md)。 +关于使用 Gorm 通过 MatrixOne 构建一个简单的 CRUD 的示例,参见 [Gorm 基础示例](../../Tutorial/gorm-golang-crud-demo.md)。 From 2b87505341064cc4ad0d8267214c2be2b7d89759 Mon Sep 17 00:00:00 2001 From: cyan Date: Wed, 23 Aug 2023 18:22:49 +0800 Subject: [PATCH 06/18] add more mo_ctl usage msg --- .../install-on-linux-method1.md | 35 +++++++++++-------- 1 file changed, 20 insertions(+), 15 deletions(-) diff --git a/docs/MatrixOne/Get-Started/install-on-linux/install-on-linux-method1.md b/docs/MatrixOne/Get-Started/install-on-linux/install-on-linux-method1.md index 7571f8f04a..d298b22de3 100644 --- a/docs/MatrixOne/Get-Started/install-on-linux/install-on-linux-method1.md +++ b/docs/MatrixOne/Get-Started/install-on-linux/install-on-linux-method1.md @@ -134,23 +134,28 @@ wget https://raw.githubusercontent.com/matrixorigin/mo_ctl_standalone/main/insta root@VM-16-2-debian:~# mo_ctl Usage : mo_ctl [option_1] [option_2] -[option_1] : available: help | precheck | deploy | status | start | stop | restart | connect | get_cid | set_conf | get_conf | pprof | ddl_convert - 0) help : print help information - 1) precheck : check pre-requisites for mo_ctl - 2) deploy : deploy mo onto the path configured - 3) status : check if there's any mo process running on this machine - 4) start : start mo-service from the path configured - 5) stop : stop all mo-service processes found on this machine - 6) restart : start mo-service from the path configured - 7) connect : connect to mo via mysql client using connection info configured - 8) get_cid : print mo commit id from the path configured - 9) pprof : collect pprof information - 10) set_conf : set configurations - 11) get_conf : get configurations - 12) ddl_convert : convert ddl file to mo format from other types of database +[option_1] : available: connect | ddl_connect | deploy | get_branch | get_cid | get_conf | help | pprof | precheck | restart | set_conf | sql | start | status | stop | uninstall | upgrade | watchdog + 1) connect : connect to mo via mysql client using connection info configured + 2) ddl_convert : convert ddl file to mo format from other types of database + 3) deploy : deploy mo onto the path configured + 4) get_branch : upgrade or downgrade mo from current version to a target commit id or stable version + 5) get_cid : print mo git commit id from the path configured + 6) get_conf : get configurations + 7) help : print help information + 8) pprof : collect pprof information + 9) precheck : check pre-requisites for mo_ctl + 10) restart : a combination operation of stop and start + 11) set_conf : set configurations + 12) sql : execute sql from string, or a file or a path containg multiple files + 13) start : start mo-service from the path configured + 14) status : check if there's any mo process running on this machine + 15) stop : stop all mo-service processes found on this machine + 16) uninstall : uninstall mo from path MO_PATH=/data/mo//matrixone + 17) upgrade : upgrade or downgrade mo from current version to a target commit id or stable version + 18) watchdog : setup a watchdog crontab task for mo-service to keep it alive e.g. : mo_ctl status -[option_2] : Use " mo_ctl [option_1] help " to get more info + [option_2] : Use " mo_ctl [option_1] help " to get more info e.g. : mo_ctl deploy help ``` From 92187d67c048e20888c69fc9af67f922405782f2 Mon Sep 17 00:00:00 2001 From: cyan Date: Wed, 23 Aug 2023 18:31:42 +0800 Subject: [PATCH 07/18] add msg of mo-ctl get-conf && change set MOversion to 1.0.0 --- .../install-on-linux-method1.md | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/docs/MatrixOne/Get-Started/install-on-linux/install-on-linux-method1.md b/docs/MatrixOne/Get-Started/install-on-linux/install-on-linux-method1.md index d298b22de3..225dea4a28 100644 --- a/docs/MatrixOne/Get-Started/install-on-linux/install-on-linux-method1.md +++ b/docs/MatrixOne/Get-Started/install-on-linux/install-on-linux-method1.md @@ -165,15 +165,23 @@ mo_ctl 工具中有部分参数可能需要你进行调整设置,通过 `mo_ct ``` root@VM-16-2-debian:~# mo_ctl get_conf -2023-07-07_10:09:09 [INFO] Below are all configurations set in conf file /data/mo_ctl/conf/env.sh +2023-08-23 18:23:35.444 UTC+0800 [INFO] Below are all configurations set in conf file /root/mo_ctl/conf/env.sh MO_PATH="/data/mo/" -MO_LOG_PATH="${MO_PATH}/logs" +MO_LOG_PATH="${MO_PATH}/matrixone/logs" MO_HOST="127.0.0.1" MO_PORT="6001" MO_USER="root" MO_PW="111" -CHECK_LIST=("go" "gcc" "git" "mysql") +MO_DEPLOY_MODE="host" +MO_REPO="matrixorigin/matrixone" +MO_IMAGE_PREFIX="nightly" +MO_IMAGE_FULL="" +MO_CONTAINER_NAME="mo" +MO_CONTAINER_PORT="6001" +MO_CONTAINER_DEBUG_PORT="12345" +CHECK_LIST=("go" "gcc" "git" "mysql" "docker") GCC_VERSION="8.5.0" +CLANG_VERSION="13.0" GO_VERSION="1.20" MO_GIT_URL="https://github.com/matrixorigin/matrixone.git" MO_DEFAULT_VERSION="0.8.0" @@ -181,7 +189,7 @@ GOPROXY="https://goproxy.cn,direct" STOP_INTERVAL="5" START_INTERVAL="2" MO_DEBUG_PORT="9876" -MO_CONF_FILE="${MO_PATH}/matrixone/etc/launch-tae-CN-tae-DN/launch.toml" +MO_CONF_FILE="${MO_PATH}/matrixone/etc/launch/launch.toml" RESTART_INTERVAL="2" PPROF_OUT_PATH="/tmp/pprof-test/" PPROF_PROFILE_DURATION="30" @@ -192,7 +200,7 @@ PPROF_PROFILE_DURATION="30" ``` mo_ctl set_conf MO_PATH="/data/mo/matrixone" # 设置自定义的MatrixOne下载路径 mo_ctl set_conf MO_GIT_URL="https://ghproxy.com/https://github.com/matrixorigin/matrixone.git" #针对github原地址下载过慢问题,设置代理下载地址 -mo_ctl set_conf MO_DEFAULT_VERSION="0.8.0" # 设置所下载的MatrixOne版本 +mo_ctl set_conf MO_DEFAULT_VERSION="1.0.0" # 设置所下载的MatrixOne版本 ``` ## 步骤 3:一键安装 MatrixOne From a17061ab880f6996a697804e8333ea86a3d718eb Mon Sep 17 00:00:00 2001 From: cyan Date: Thu, 24 Aug 2023 13:56:51 +0800 Subject: [PATCH 08/18] update install-on-linux-m1 --- .../Get-Started/install-on-linux/install-on-linux-method1.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/MatrixOne/Get-Started/install-on-linux/install-on-linux-method1.md b/docs/MatrixOne/Get-Started/install-on-linux/install-on-linux-method1.md index 225dea4a28..c59212166c 100644 --- a/docs/MatrixOne/Get-Started/install-on-linux/install-on-linux-method1.md +++ b/docs/MatrixOne/Get-Started/install-on-linux/install-on-linux-method1.md @@ -200,7 +200,7 @@ PPROF_PROFILE_DURATION="30" ``` mo_ctl set_conf MO_PATH="/data/mo/matrixone" # 设置自定义的MatrixOne下载路径 mo_ctl set_conf MO_GIT_URL="https://ghproxy.com/https://github.com/matrixorigin/matrixone.git" #针对github原地址下载过慢问题,设置代理下载地址 -mo_ctl set_conf MO_DEFAULT_VERSION="1.0.0" # 设置所下载的MatrixOne版本 +mo_ctl set_conf MO_DEFAULT_VERSION="1.0.0-rc1" # 设置所下载的MatrixOne版本 ``` ## 步骤 3:一键安装 MatrixOne @@ -218,7 +218,7 @@ mo_ctl set_conf MO_DEFAULT_VERSION="1.0.0" # 设置所下载的MatrixOne版本 === "通过 MatrixOne (稳定版本) 代码安装" ``` - mo_ctl deploy 0.8.0 + mo_ctl deploy 1.0.0-rc1 ``` ## 步骤 4:启动 MatrixOne 服务 From 90fe01b51a7b1c41b8ddcc308900ef51b409c633 Mon Sep 17 00:00:00 2001 From: cyan Date: Thu, 24 Aug 2023 15:58:48 +0800 Subject: [PATCH 09/18] update install-on-linux-m2 --- .../install-on-linux-method2.md | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/docs/MatrixOne/Get-Started/install-on-linux/install-on-linux-method2.md b/docs/MatrixOne/Get-Started/install-on-linux/install-on-linux-method2.md index 9fbd28364c..5b0efc1086 100644 --- a/docs/MatrixOne/Get-Started/install-on-linux/install-on-linux-method2.md +++ b/docs/MatrixOne/Get-Started/install-on-linux/install-on-linux-method2.md @@ -92,16 +92,16 @@ Debian11.1 版本默认没有安装 MySQL Client,因此需要手动下载安 ```bash mkdir -p /root/matrixone & cd /root/ - wget https://github.com/matrixorigin/matrixone/releases/download/v0.8.0/mo-v0.8.0-linux-amd64.zip - unzip -d matrixone/ mo-v0.8.0-linux-amd64.zip + wget https://github.com/matrixorigin/matrixone/releases/download/v1.0.0-rc1/mo-v1.0.0-rc1-linux-amd64.zip + unzip -d matrixone/ mo-v1.0.0-rc1-linux-amd64.zip ``` ARM 架构系统安装包: ```bash mkdir -p /root/matrixone & cd /root/ - wget https://github.com/matrixorigin/matrixone/releases/download/v0.8.0/mo-v0.8.0-linux-arm64.zip - unzip -d matrixone/ mo-v0.8.0-linux-arm64.zip + wget https://github.com/matrixorigin/matrixone/releases/download/v1.0.0-rc1/mo-v1.0.0-rc1-linux-arm64.zip + unzip -d matrixone/ mo-v1.0.0-rc1-linux-arm64.zip ``` === "**下载方式二:`curl` 工具下载二进制包**" @@ -110,21 +110,21 @@ Debian11.1 版本默认没有安装 MySQL Client,因此需要手动下载安 ```bash mkdir -p /root/matrixone & cd /root/ - curl -OL https://github.com/matrixorigin/matrixone/releases/download/v0.8.0/mo-v0.8.0-linux-amd64.zip - unzip -d matrixone/ mo-v0.8.0-linux-amd64.zip + curl -OL https://github.com/matrixorigin/matrixone/releases/download/v1.0.0-rc1/mo-v1.0.0-rc1-linux-amd64.zip + unzip -d matrixone/ mo-v1.0.0-rc1-linux-amd64.zip ``` ARM 架构系统安装包: ```bash mkdir -p /root/matrixone & cd /root/ - curl -OL https://github.com/matrixorigin/matrixone/releases/download/v0.8.0/mo-v0.8.0-linux-arm64.zip - unzip -d matrixone/ mo-v0.8.0-linux-arm64.zip + curl -OL https://github.com/matrixorigin/matrixone/releases/download/v1.0.0-rc1/mo-v1.0.0-rc1-linux-arm64.zip + unzip -d matrixone/ mo-v1.0.0-rc1-linux-arm64.zip ``` === "**下载方式三:页面下载**" - 如果你想通过更直观的页面下载的方式下载,直接点击进入[版本 0.8.0](https://github.com/matrixorigin/matrixone/releases/tag/v0.8.0),下拉找到 **Assets** 栏,点击安装包 *mo-v0.8.0-linux-amd64.zip* 或者 *mo-v0.8.0-linux-arm64.zip* 下载即可。 + 如果你想通过更直观的页面下载的方式下载,直接点击进入[版本 1.0.0-rc1](https://github.com/matrixorigin/matrixone/releases/tag/v1.0.0-rc1),下拉找到 **Assets** 栏,点击安装包 *mo-v1.0.0-rc1-linux-amd64.zip* 或者 *mo-v1.0.0-rc1-linux-arm64.zip* 下载再使用 ```unzip``` 命令解压即可即可。 ## 步骤 3:安装 mo_ctl 工具 @@ -143,7 +143,7 @@ wget https://raw.githubusercontent.com/matrixorigin/mo_ctl_standalone/main/insta 通过以下命令将 MatrixOne 的二进制解压文件目录设置到 mo_ctl 的 `MO_PATH` 参数上。mo_ctl 会自动寻找位于 `MO_PATH` 中的 `matrixone` 文件夹。 ``` -mo_ctl set_conf MO_PATH="/root/" +mo_ctl set_conf MO_PATH="/root" ``` ## 步骤 4:启动 MatrixOne 服务 From 95f2d1ded785ab9973e831e6d474d3351264c08a Mon Sep 17 00:00:00 2001 From: cyan Date: Thu, 24 Aug 2023 16:39:04 +0800 Subject: [PATCH 10/18] update install-on-linux-m3 --- .../install-on-linux-method2.md | 2 +- .../install-on-linux-method3.md | 23 +++++-------------- 2 files changed, 7 insertions(+), 18 deletions(-) diff --git a/docs/MatrixOne/Get-Started/install-on-linux/install-on-linux-method2.md b/docs/MatrixOne/Get-Started/install-on-linux/install-on-linux-method2.md index 5b0efc1086..dde01a844d 100644 --- a/docs/MatrixOne/Get-Started/install-on-linux/install-on-linux-method2.md +++ b/docs/MatrixOne/Get-Started/install-on-linux/install-on-linux-method2.md @@ -124,7 +124,7 @@ Debian11.1 版本默认没有安装 MySQL Client,因此需要手动下载安 === "**下载方式三:页面下载**" - 如果你想通过更直观的页面下载的方式下载,直接点击进入[版本 1.0.0-rc1](https://github.com/matrixorigin/matrixone/releases/tag/v1.0.0-rc1),下拉找到 **Assets** 栏,点击安装包 *mo-v1.0.0-rc1-linux-amd64.zip* 或者 *mo-v1.0.0-rc1-linux-arm64.zip* 下载再使用 ```unzip``` 命令解压即可即可。 + 如果你想通过更直观的页面下载的方式下载,直接点击进入[版本 1.0.0-rc1](https://github.com/matrixorigin/matrixone/releases/tag/v1.0.0-rc1),下拉找到 **Assets** 栏,点击安装包 *mo-v1.0.0-rc1-linux-amd64.zip* 或者 *mo-v1.0.0-rc1-linux-arm64.zip* 下载再使用 ```unzip``` 命令解压即可。 ## 步骤 3:安装 mo_ctl 工具 diff --git a/docs/MatrixOne/Get-Started/install-on-linux/install-on-linux-method3.md b/docs/MatrixOne/Get-Started/install-on-linux/install-on-linux-method3.md index 51b86e4fff..7b23ae4f47 100644 --- a/docs/MatrixOne/Get-Started/install-on-linux/install-on-linux-method3.md +++ b/docs/MatrixOne/Get-Started/install-on-linux/install-on-linux-method3.md @@ -41,18 +41,18 @@ 使用以下命令将从 Docker Hub 中拉取 MatrixOne 镜像,你可以选择稳定版本镜像,或开发版本镜像。 -=== "稳定版本的镜像(0.8.0)" +=== "稳定版本的镜像(1.0.0-rc1)" ```bash - docker pull matrixorigin/matrixone:0.8.0 - docker run -d -p 6001:6001 --name matrixone --privileged=true matrixorigin/matrixone:0.8.0 + docker pull matrixorigin/matrixone:1.0.0-rc1 + docker run -d -p 6001:6001 --name matrixone --privileged=true matrixorigin/matrixone:1.0.0-rc1 ``` 如果你使用的是中国大陆的网络,你可以拉取阿里云上的 MatrixOne 稳定版本镜像: ```bash - docker pull registry.cn-shanghai.aliyuncs.com/matrixorigin/matrixone:0.8.0 - docker run -d -p 6001:6001 --name matrixone --privileged=true registry.cn-shanghai.aliyuncs.com/matrixorigin/matrixone:0.8.0 + docker pull registry.cn-shanghai.aliyuncs.com/matrixorigin/matrixone:1.0.0-rc1 + docker run -d -p 6001:6001 --name matrixone --privileged=true registry.cn-shanghai.aliyuncs.com/matrixorigin/matrixone:1.0.0-rc1 ``` === "开发版本的镜像" @@ -120,20 +120,9 @@ - 你可以使用 MySQL 命令行客户端来连接 MatrixOne。打开一个新的终端,直接输入以下指令: - ``` - mysql -h IP -P PORT -uUsername -p - ``` - - 输入完成上述命令后,终端会提示你提供用户名和密码。你可以使用我们提供的的初始帐号和密码: - - · user: root - · password: 111 - -- 你也可以使用 MySQL 客户端下述命令行,输入密码,来连接 MatrixOne 服务: - ``` mysql -h 127.0.0.1 -P 6001 -uroot -p - Enter password: + Enter password: # 初始密码默认为111 ``` 目前,MatrixOne 只支持 TCP 监听。 From 4e945523caf3651fb1978fcdfe1421c7e3dc663d Mon Sep 17 00:00:00 2001 From: cyan Date: Thu, 24 Aug 2023 16:57:46 +0800 Subject: [PATCH 11/18] update 3methods of install-on-mac --- .../install-on-macos-method1.md | 4 ++-- .../install-on-macos-method2.md | 20 ++++++++-------- .../install-on-macos-method3.md | 23 +++++-------------- 3 files changed, 18 insertions(+), 29 deletions(-) diff --git a/docs/MatrixOne/Get-Started/install-on-macos/install-on-macos-method1.md b/docs/MatrixOne/Get-Started/install-on-macos/install-on-macos-method1.md index fa484673e9..9fe45812dd 100644 --- a/docs/MatrixOne/Get-Started/install-on-macos/install-on-macos-method1.md +++ b/docs/MatrixOne/Get-Started/install-on-macos/install-on-macos-method1.md @@ -171,7 +171,7 @@ PPROF_PROFILE_DURATION="30" ``` mo_ctl set_conf MO_PATH="/Users/username/mo/matrixone" # 设置自定义的MatrixOne下载路径 mo_ctl set_conf MO_GIT_URL="https://ghproxy.com/https://github.com/matrixorigin/matrixone.git" #针对github原地址下载过慢问题,设置代理下载地址 -mo_ctl set_conf MO_DEFAULT_VERSION="0.8.0" # 设置所下载的MatrixOne版本 +mo_ctl set_conf MO_DEFAULT_VERSION="1.0.0-rc1" # 设置所下载的MatrixOne版本 ``` ## 步骤 3:一键安装 MatrixOne @@ -189,7 +189,7 @@ mo_ctl set_conf MO_DEFAULT_VERSION="0.8.0" # 设置所下载的MatrixOne版本 === "通过 MatrixOne (稳定版本) 代码安装" ``` - mo_ctl deploy 0.8.0 + mo_ctl deploy 1.0.0-rc1 ``` ## 步骤 4:启动 MatrixOne 服务 diff --git a/docs/MatrixOne/Get-Started/install-on-macos/install-on-macos-method2.md b/docs/MatrixOne/Get-Started/install-on-macos/install-on-macos-method2.md index ee9e232906..730adb1edd 100644 --- a/docs/MatrixOne/Get-Started/install-on-macos/install-on-macos-method2.md +++ b/docs/MatrixOne/Get-Started/install-on-macos/install-on-macos-method2.md @@ -93,16 +93,16 @@ __Tips__: 建议你下载安装这两个下载工具其中之一,方便后续 ```bash mkdir -p /User/username/mo/matrixone & cd /User/username/mo - wget https://github.com/matrixorigin/matrixone/releases/download/v0.8.0/mo-v0.8.0-darwin-x86_64.zip - unzip -d matrixone/ mo-v0.8.0-darwin-x86_64.zip + wget https://github.com/matrixorigin/matrixone/releases/download/v1.0.0-rc1/mo-v1.0.0-rc1-darwin-x86_64.zip + unzip -d matrixone/ mo-v1.0.0-rc1-darwin-x86_64.zip ``` ARM 架构系统安装包: ```bash mkdir -p /User/username/mo/matrixone & cd /User/username/mo - wget https://github.com/matrixorigin/matrixone/releases/download/v0.8.0/mo-v0.8.0-darwin-arm64.zip - unzip -d matrixone/ mo-v0.8.0-darwin-arm64.zip + wget https://github.com/matrixorigin/matrixone/releases/download/v1.0.0-rc1/mo-v1.0.0-rc1-darwin-arm64.zip + unzip -d matrixone/ mo-v1.0.0-rc1-darwin-arm64.zip ``` === "**下载方式二:`curl` 工具下载二进制包**" @@ -111,21 +111,21 @@ __Tips__: 建议你下载安装这两个下载工具其中之一,方便后续 ```bash mkdir -p /User/username/mo/matrixone & cd /User/username/mo - curl -OL https://github.com/matrixorigin/matrixone/releases/download/v0.8.0/mo-v0.8.0-darwin-x86_64.zip - unzip -d matrixone/ mo-v0.8.0-darwin-x86_64.zip + curl -OL https://github.com/matrixorigin/matrixone/releases/download/v1.0.0-rc1/mo-v1.0.0-rc1-darwin-x86_64.zip + unzip -d matrixone/ mo-v1.0.0-rc1-darwin-x86_64.zip ``` ARM 架构系统安装包: ```bash mkdir -p /User/username/mo/matrixone & cd /User/username/mo - curl -OL https://github.com/matrixorigin/matrixone/releases/download/v0.8.0/mo-v0.8.0-darwin-arm64.zip - unzip -d matrixone/ mo-v0.8.0-darwin-arm64.zip + curl -OL https://github.com/matrixorigin/matrixone/releases/download/v1.0.0-rc1/mo-v1.0.0-rc1-darwin-arm64.zip + unzip -d matrixone/ mo-v1.0.0-rc1-darwin-arm64.zip ``` === "**下载方式三:页面下载**" - 如果你想通过更直观的页面下载的方式下载,直接点击进入[版本 0.8.0](https://github.com/matrixorigin/matrixone/releases/tag/v0.8.0),下拉找到 **Assets** 栏,点击安装包 *mo-v0.8.0-darwin-x86_64.zip* 或 *mo-v0.8.0-darwin-arm64.zip* 下载即可。 + 如果你想通过更直观的页面下载的方式下载,直接点击进入[版本 1.0.0-rc1](https://github.com/matrixorigin/matrixone/releases/tag/v1.0.0-rc1),下拉找到 **Assets** 栏,点击安装包 *mo-v1.0.0-rc1-darwin-x86_64.zip* 或 *mo-v1.0.0-rc1-darwin-arm64.zip* 下载再使用 ```unzip``` 命令解压即可。 ## 步骤 3:安装 mo_ctl 工具 @@ -144,7 +144,7 @@ wget https://raw.githubusercontent.com/matrixorigin/mo_ctl_standalone/main/insta 通过以下命令将 MatrixOne 的二进制解压文件目录设置到 mo_ctl 的 `MO_PATH` 参数上。mo_ctl 会自动寻找位于 `MO_PATH` 中的 `matrixone` 文件夹。 ``` -mo_ctl set_conf MO_PATH="/User/username/mo/" +mo_ctl set_conf MO_PATH="/User/username/mo" ``` ## 步骤 4:启动 MatrixOne 服务 diff --git a/docs/MatrixOne/Get-Started/install-on-macos/install-on-macos-method3.md b/docs/MatrixOne/Get-Started/install-on-macos/install-on-macos-method3.md index 5c6cca766d..26074d280d 100644 --- a/docs/MatrixOne/Get-Started/install-on-macos/install-on-macos-method3.md +++ b/docs/MatrixOne/Get-Started/install-on-macos/install-on-macos-method3.md @@ -24,18 +24,18 @@ 使用以下命令将从 Docker Hub 中拉取 MatrixOne 镜像,你可以选择稳定版本镜像,或开发版本镜像。 -=== "稳定版本的镜像(0.8.0)" +=== "稳定版本的镜像(1.0.0-rc1)" ```bash - docker pull matrixorigin/matrixone:0.8.0 - docker run -d -p 6001:6001 --name matrixone --privileged=true matrixorigin/matrixone:0.8.0 + docker pull matrixorigin/matrixone:1.0.0-rc1 + docker run -d -p 6001:6001 --name matrixone --privileged=true matrixorigin/matrixone:1.0.0-rc1 ``` 如果你使用的是中国大陆的网络,你可以拉取阿里云上的 MatrixOne 稳定版本镜像: ```bash - docker pull registry.cn-shanghai.aliyuncs.com/matrixorigin/matrixone:0.8.0 - docker run -d -p 6001:6001 --name matrixone --privileged=true registry.cn-shanghai.aliyuncs.com/matrixorigin/matrixone:0.8.0 + docker pull registry.cn-shanghai.aliyuncs.com/matrixorigin/matrixone:1.0.0-rc1 + docker run -d -p 6001:6001 --name matrixone --privileged=true registry.cn-shanghai.aliyuncs.com/matrixorigin/matrixone:1.0.0-rc1 ``` === "开发版本的镜像" @@ -101,20 +101,9 @@ - 你可以使用 MySQL 命令行客户端来连接 MatrixOne。打开一个新的终端,直接输入以下指令: - ``` - mysql -h IP -P PORT -uUsername -p - ``` - - 输入完成上述命令后,终端会提示你提供用户名和密码。你可以使用我们提供的的初始帐号和密码: - - · user: root - · password: 111 - -- 你也可以使用 MySQL 客户端下述命令行,输入密码,来连接 MatrixOne 服务: - ``` mysql -h 127.0.0.1 -P 6001 -uroot -p - Enter password: + Enter password: # 初始密码默认为111 ``` 目前,MatrixOne 只支持 TCP 监听。 From 5fac75f60c048840ab9a2b2d56ea16a49f6f3a14 Mon Sep 17 00:00:00 2001 From: cyan Date: Thu, 24 Aug 2023 17:00:24 +0800 Subject: [PATCH 12/18] fix make linux installation in method 3 same with method 1&2 --- .../install-on-linux-method3.md | 42 +++++++------------ 1 file changed, 14 insertions(+), 28 deletions(-) diff --git a/docs/MatrixOne/Get-Started/install-on-linux/install-on-linux-method3.md b/docs/MatrixOne/Get-Started/install-on-linux/install-on-linux-method3.md index 7b23ae4f47..9a749cac96 100644 --- a/docs/MatrixOne/Get-Started/install-on-linux/install-on-linux-method3.md +++ b/docs/MatrixOne/Get-Started/install-on-linux/install-on-linux-method3.md @@ -80,39 +80,25 @@ ## 步骤 3:连接 MatrixOne -### 安装并配置 MySQL 客户端 +### 安装 MySQL Client -1. 点击 MySQL Community Downloads,进入到 MySQL 客户端下载安装页面,根据你的操作系统和硬件环境,下拉选择 **Select Operating System**,再下拉选择 **Select OS Version**,按需选择下载安装包进行安装。 +Debian11.1 版本默认没有安装 MySQL Client,因此需要手动下载安装。 - __Note__: 建议 MySQL 客户端版本为 8.0.30 版本及以上。 +1. 依次执行以下命令: -2. 配置 MySQL 客户端环境变量: - - 1. 打开一个新的终端,输入如下命令: - - ``` - sudo vim /etc/profile - ``` - - 2. 回车执行上面的命令后,非 Linux root 用户需要输入当前 Linux 用户的密码。 - - 3. 输入密码后回车,即进入了 *profile*,点击键盘上的 *i* 进入 insert 状态,即可在文件下方输入如下命令: - - ``` - export PATH=/software/mysql/bin:$PATH - ``` - - 4. 输入完成后,点击键盘上的 esc 退出 insert 状态,并在最下方输入 `:wq` 保存退出。 - - 5. 输入命令 `source /etc/profile`,回车执行,运行环境变量。 - - 6. 测试 MySQL 是否可用: - - - 方式一:输入命令 `mysql -u root -p`,回车执行,需要 root 用户密码,显示 `mysql>` 即表示 MySQL 客户端已开启。 + ``` + wget https://dev.mysql.com/get/mysql-apt-config_0.8.22-1_all.deb + sudo dpkg -i ./mysql-apt-config_0.8.22-1_all.deb + sudo apt update + sudo apt install mysql-client + ``` - - 方式二:执行命令 `mysql --version`,安装成功提示:`mysql Ver 8.0.31 for Linux on x86_64 (Source distribution)` +2. 执行命令 `mysql --version` 测试 MySQL 是否可用,安装成功结果如下: - 7. MySQL 如可用,关闭当前终端,继续浏览下一章节**连接 MatrixOne 服务**。 + ``` + mysql --version + mysql Ver 8.0.33 for Linux on x86_64 (MySQL Community Server - GPL) + ``` __Tips__: 目前,MatrixOne 只兼容 Oracle MySQL 客户端,因此一些特性可能无法在 MariaDB、Percona 客户端下正常工作。 From 53adccb14b66a8b59fdb08da3c451b8f0e922ec6 Mon Sep 17 00:00:00 2001 From: cyan Date: Thu, 24 Aug 2023 17:08:57 +0800 Subject: [PATCH 13/18] add a golang link --- docs/MatrixOne/Get-Started/install-standalone-matrixone.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/MatrixOne/Get-Started/install-standalone-matrixone.md b/docs/MatrixOne/Get-Started/install-standalone-matrixone.md index ac9b67676b..a08b41e292 100644 --- a/docs/MatrixOne/Get-Started/install-standalone-matrixone.md +++ b/docs/MatrixOne/Get-Started/install-standalone-matrixone.md @@ -37,6 +37,7 @@ * [客户端连接 MatrixOne 服务](../Develop/connect-mo/database-client-tools.md) * [JDBC 连接 MatrixOne 服务](../Develop/connect-mo/java-connect-to-matrixone/connect-mo-with-jdbc.md) * [Python 连接 MatrixOne 服务](../Develop/connect-mo/python-connect-to-matrixone.md) + * [Golang 连接 MatrixOne 服务](../Develop/connect-mo/connect-to-matrixone-with-go.md) - 常见的安装和部署问题,参见[安装和部署常见问题](../FAQs/deployment-faqs.md)。 From e0deb4d408db81e1c6216a85b95ec28b45347cd6 Mon Sep 17 00:00:00 2001 From: cyan Date: Thu, 24 Aug 2023 17:50:16 +0800 Subject: [PATCH 14/18] update the output of mo_ctl --- .../install-on-macos-method1.md | 53 ++++++++++++------- 1 file changed, 33 insertions(+), 20 deletions(-) diff --git a/docs/MatrixOne/Get-Started/install-on-macos/install-on-macos-method1.md b/docs/MatrixOne/Get-Started/install-on-macos/install-on-macos-method1.md index 9fe45812dd..55a26dc8ec 100644 --- a/docs/MatrixOne/Get-Started/install-on-macos/install-on-macos-method1.md +++ b/docs/MatrixOne/Get-Started/install-on-macos/install-on-macos-method1.md @@ -118,24 +118,29 @@ git version 2.40.0 > mo_ctl Usage : mo_ctl [option_1] [option_2] - [option_1] : available: help | precheck | deploy | status | start | stop | restart | connect | get_cid | set_conf | get_conf | pprof | ddl_convert - 0) help : print help information - 1) precheck : check pre-requisites for mo_ctl - 2) deploy : deploy mo onto the path configured - 3) status : check if there's any mo process running on this machine - 4) start : start mo-service from the path configured - 5) stop : stop all mo-service processes found on this machine - 6) restart : start mo-service from the path configured - 7) connect : connect to mo via mysql client using connection info configured - 8) get_cid : print mo commit id from the path configured - 9) pprof : collect pprof information - 10) set_conf : set configurations - 11) get_conf : get configurations - 12) ddl_convert : convert ddl file to mo format from other types of database - e.g. : mo_ctl status - - [option_2] : Use " mo_ctl [option_1] help " to get more info - e.g. : mo_ctl deploy help + [option_1] : available: connect | ddl_connect | deploy | get_branch | get_cid | get_conf | help | pprof | precheck | restart | set_conf | sql | start | status | stop | uninstall | upgrade | watchdog + 1) connect : connect to mo via mysql client using connection info configured + 2) ddl_convert : convert ddl file to mo format from other types of database + 3) deploy : deploy mo onto the path configured + 4) get_branch : upgrade or downgrade mo from current version to a target commit id or stable version + 5) get_cid : print mo git commit id from the path configured + 6) get_conf : get configurations + 7) help : print help information + 8) pprof : collect pprof information + 9) precheck : check pre-requisites for mo_ctl + 10) restart : a combination operation of stop and start + 11) set_conf : set configurations + 12) sql : execute sql from string, or a file or a path containg multiple files + 13) start : start mo-service from the path configured + 14) status : check if there's any mo process running on this machine + 15) stop : stop all mo-service processes found on this machine + 16) uninstall : uninstall mo from path MO_PATH=/data/mo//matrixone + 17) upgrade : upgrade or downgrade mo from current version to a target commit id or stable version + 18) watchdog : setup a watchdog crontab task for mo-service to keep it alive + e.g. : mo_ctl status + + [option_2] : Use " mo_ctl [option_1] help " to get more info + e.g. : mo_ctl deploy help ``` ### 设置 mo_ctl 的配置参数(选做) @@ -151,8 +156,16 @@ MO_HOST="127.0.0.1" MO_PORT="6001" MO_USER="root" MO_PW="111" -CHECK_LIST=("go" "gcc" "git" "mysql") +MO_DEPLOY_MODE="host" +MO_REPO="matrixorigin/matrixone" +MO_IMAGE_PREFIX="nightly" +MO_IMAGE_FULL="" +MO_CONTAINER_NAME="mo" +MO_CONTAINER_PORT="6001" +MO_CONTAINER_DEBUG_PORT="12345" +CHECK_LIST=("go" "gcc" "git" "mysql" "docker") GCC_VERSION="8.5.0" +CLANG_VERSION="13.0" GO_VERSION="1.20" MO_GIT_URL="https://github.com/matrixorigin/matrixone.git" MO_DEFAULT_VERSION="0.8.0" @@ -160,7 +173,7 @@ GOPROXY="https://goproxy.cn,direct" STOP_INTERVAL="5" START_INTERVAL="2" MO_DEBUG_PORT="9876" -MO_CONF_FILE="${MO_PATH}/matrixone/etc/launch-tae-CN-tae-DN/launch.toml" +MO_CONF_FILE="${MO_PATH}/matrixone/etc/launch/launch.toml" RESTART_INTERVAL="2" PPROF_OUT_PATH="/tmp/pprof-test/" PPROF_PROFILE_DURATION="30" From d8e21ce55232e295613aa6bc6062956b497a9710 Mon Sep 17 00:00:00 2001 From: cyan Date: Mon, 28 Aug 2023 14:15:05 +0800 Subject: [PATCH 15/18] fix: no need privilige to run docker --- .../install-on-linux-method3.md | 19 ++++++++++++------ .../install-on-macos-method3.md | 20 +++++++++++++------ 2 files changed, 27 insertions(+), 12 deletions(-) diff --git a/docs/MatrixOne/Get-Started/install-on-linux/install-on-linux-method3.md b/docs/MatrixOne/Get-Started/install-on-linux/install-on-linux-method3.md index 9a749cac96..a9561be2ed 100644 --- a/docs/MatrixOne/Get-Started/install-on-linux/install-on-linux-method3.md +++ b/docs/MatrixOne/Get-Started/install-on-linux/install-on-linux-method3.md @@ -4,7 +4,7 @@ ## 步骤 1:下载安装 Docker -1. 点击 Get Docker,进入 Docker 的官方文档页面,根据你的操作系统,下载安装对应的 Docker。 +1. 点击 Get Docker,进入 Docker 的官方文档页面,根据你的操作系统,下载安装对应的 Docker,Docker版本尽量选择在 20.10.18 以及以上。 2. 安装完成后,通过下述代码行确认 Docker 版本,验证 Docker 安装是否成功: @@ -15,7 +15,7 @@ 安装成功,代码示例如下: ``` - Docker version 20.10.17, build 100c701 + Docker version 20.10.18, build 100c701 ``` 3. 在你终端里执行如下命令,启动 Docker 并查看运行状态是否成功: @@ -45,14 +45,14 @@ ```bash docker pull matrixorigin/matrixone:1.0.0-rc1 - docker run -d -p 6001:6001 --name matrixone --privileged=true matrixorigin/matrixone:1.0.0-rc1 + docker run -d -p 6001:6001 --name matrixone matrixorigin/matrixone:1.0.0-rc1 ``` 如果你使用的是中国大陆的网络,你可以拉取阿里云上的 MatrixOne 稳定版本镜像: ```bash docker pull registry.cn-shanghai.aliyuncs.com/matrixorigin/matrixone:1.0.0-rc1 - docker run -d -p 6001:6001 --name matrixone --privileged=true registry.cn-shanghai.aliyuncs.com/matrixorigin/matrixone:1.0.0-rc1 + docker run -d -p 6001:6001 --name matrixone registry.cn-shanghai.aliyuncs.com/matrixorigin/matrixone:1.0.0-rc1 ``` === "开发版本的镜像" @@ -61,18 +61,25 @@ ```bash docker pull matrixorigin/matrixone:nightly-commitnumber - docker run -d -p 6001:6001 --name matrixone --privileged=true matrixorigin/matrixone:nightly-commitnumber + docker run -d -p 6001:6001 --name matrixone matrixorigin/matrixone:nightly-commitnumber ``` 如果你使用的是中国大陆的网络,你可以拉取阿里云上的 MatrixOne 开发版本镜像: ```bash docker pull registry.cn-shanghai.aliyuncs.com/matrixorigin/matrixone:nightly-commitnumber - docker run -d -p 6001:6001 --name matrixone --privileged=true registry.cn-shanghai.aliyuncs.com/matrixorigin/matrixone:nightly-commitnumber + docker run -d -p 6001:6001 --name matrixone registry.cn-shanghai.aliyuncs.com/matrixorigin/matrixone:nightly-commitnumber ``` __Note__: 如上面代码所示,*nightly* 为标识的 Tag 版本每天都进行更新,请注意获取最新的镜像。 +!!! note + 若 Docker 版本低于 20.10.18 ,推荐升级到 Docker 最新稳定版本后再尝试。若坚持使用低版本 Docker ,需要在 ```docker run```命令中加上参数```--privileged=true```,如: + + ```bash + docker run -d -p 6001:6001 --name matrixone --privileged=true matrixorigin/matrixone:1.0.0-rc1 + ``` + !!! note 首次启动 MatrixOne 大致需要花费 20 至 30 秒的时间,在稍作等待后,你便可以使用 MySQL 客户端连接至 MatrixOne。 diff --git a/docs/MatrixOne/Get-Started/install-on-macos/install-on-macos-method3.md b/docs/MatrixOne/Get-Started/install-on-macos/install-on-macos-method3.md index 26074d280d..ef3a5792cd 100644 --- a/docs/MatrixOne/Get-Started/install-on-macos/install-on-macos-method3.md +++ b/docs/MatrixOne/Get-Started/install-on-macos/install-on-macos-method3.md @@ -4,7 +4,7 @@ ## 步骤 1:下载安装 Docker -1. 点击 Get Docker,进入 Docker 的官方文档页面,根据你的操作系统,下载安装对应的 Docker。 +1. 点击 Get Docker,进入 Docker 的官方文档页面,根据你的操作系统,下载安装对应的 Docker,Docker版本尽量选择在 20.10.18 以及以上。 2. 安装完成后,通过下述代码行确认 Docker 版本,验证 Docker 安装是否成功: @@ -15,7 +15,7 @@ 安装成功,代码示例如下: ``` - Docker version 20.10.17, build 100c701 + Docker version 20.10.18, build 100c701 ``` 3. 直接打开你本地 Docker 客户端,启动 Docker。 @@ -28,14 +28,14 @@ ```bash docker pull matrixorigin/matrixone:1.0.0-rc1 - docker run -d -p 6001:6001 --name matrixone --privileged=true matrixorigin/matrixone:1.0.0-rc1 + docker run -d -p 6001:6001 --name matrixone matrixorigin/matrixone:1.0.0-rc1 ``` 如果你使用的是中国大陆的网络,你可以拉取阿里云上的 MatrixOne 稳定版本镜像: ```bash docker pull registry.cn-shanghai.aliyuncs.com/matrixorigin/matrixone:1.0.0-rc1 - docker run -d -p 6001:6001 --name matrixone --privileged=true registry.cn-shanghai.aliyuncs.com/matrixorigin/matrixone:1.0.0-rc1 + docker run -d -p 6001:6001 --name matrixone registry.cn-shanghai.aliyuncs.com/matrixorigin/matrixone:1.0.0-rc1 ``` === "开发版本的镜像" @@ -44,18 +44,26 @@ ```bash docker pull matrixorigin/matrixone:nightly-commitnumber - docker run -d -p 6001:6001 --name matrixone --privileged=true matrixorigin/matrixone:nightly-commitnumber + docker run -d -p 6001:6001 --name matrixone matrixorigin/matrixone:nightly-commitnumber ``` 如果你使用的是中国大陆的网络,你可以拉取阿里云上的 MatrixOne 开发版本镜像: ```bash docker pull registry.cn-shanghai.aliyuncs.com/matrixorigin/matrixone:nightly-commitnumber - docker run -d -p 6001:6001 --name matrixone --privileged=true registry.cn-shanghai.aliyuncs.com/matrixorigin/matrixone:nightly-commitnumber + docker run -d -p 6001:6001 --name matrixone registry.cn-shanghai.aliyuncs.com/matrixorigin/matrixone:nightly-commitnumber ``` __Note__: 如上面代码所示,*nightly* 为标识的 Tag 版本每天都进行更新,请注意获取最新的镜像。 +!!! note + 若 Docker 版本低于 20.10.18 ,推荐升级到 Docker 最新稳定版本后再尝试。若坚持使用低版本 Docker ,需要在 ```docker run```命令中加上参数```--privileged=true```,如: + + ```bash + docker run -d -p 6001:6001 --name matrixone --privileged=true matrixorigin/matrixone:1.0.0-rc1 + ``` + + !!! note 首次启动 MatrixOne 大致需要花费 20 至 30 秒的时间,在稍作等待后,你便可以使用 MySQL 客户端连接至 MatrixOne。 From c5a2ea3b5e61fa75f6b9d5cc3d943c41775f0cdf Mon Sep 17 00:00:00 2001 From: cyan Date: Mon, 28 Aug 2023 14:22:53 +0800 Subject: [PATCH 16/18] fix:lint --- .../Get-Started/install-on-linux/install-on-linux-method3.md | 4 ++-- .../Get-Started/install-on-macos/install-on-macos-method3.md | 5 ++--- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/docs/MatrixOne/Get-Started/install-on-linux/install-on-linux-method3.md b/docs/MatrixOne/Get-Started/install-on-linux/install-on-linux-method3.md index a9561be2ed..9cf61ea199 100644 --- a/docs/MatrixOne/Get-Started/install-on-linux/install-on-linux-method3.md +++ b/docs/MatrixOne/Get-Started/install-on-linux/install-on-linux-method3.md @@ -4,7 +4,7 @@ ## 步骤 1:下载安装 Docker -1. 点击 Get Docker,进入 Docker 的官方文档页面,根据你的操作系统,下载安装对应的 Docker,Docker版本尽量选择在 20.10.18 以及以上。 +1. 点击 Get Docker,进入 Docker 的官方文档页面,根据你的操作系统,下载安装对应的 Docker,Docker 版本尽量选择在 20.10.18 以及以上。 2. 安装完成后,通过下述代码行确认 Docker 版本,验证 Docker 安装是否成功: @@ -74,7 +74,7 @@ __Note__: 如上面代码所示,*nightly* 为标识的 Tag 版本每天都进行更新,请注意获取最新的镜像。 !!! note - 若 Docker 版本低于 20.10.18 ,推荐升级到 Docker 最新稳定版本后再尝试。若坚持使用低版本 Docker ,需要在 ```docker run```命令中加上参数```--privileged=true```,如: + 若 Docker 版本低于 20.10.18,推荐升级到 Docker 最新稳定版本后再尝试。若坚持使用低版本 Docker,需要在 ```docker run``` 命令中加上参数 ```--privileged=true```,如: ```bash docker run -d -p 6001:6001 --name matrixone --privileged=true matrixorigin/matrixone:1.0.0-rc1 diff --git a/docs/MatrixOne/Get-Started/install-on-macos/install-on-macos-method3.md b/docs/MatrixOne/Get-Started/install-on-macos/install-on-macos-method3.md index ef3a5792cd..26aed107d5 100644 --- a/docs/MatrixOne/Get-Started/install-on-macos/install-on-macos-method3.md +++ b/docs/MatrixOne/Get-Started/install-on-macos/install-on-macos-method3.md @@ -4,7 +4,7 @@ ## 步骤 1:下载安装 Docker -1. 点击 Get Docker,进入 Docker 的官方文档页面,根据你的操作系统,下载安装对应的 Docker,Docker版本尽量选择在 20.10.18 以及以上。 +1. 点击 Get Docker,进入 Docker 的官方文档页面,根据你的操作系统,下载安装对应的 Docker,Docker 版本尽量选择在 20.10.18 以及以上。 2. 安装完成后,通过下述代码行确认 Docker 版本,验证 Docker 安装是否成功: @@ -57,13 +57,12 @@ __Note__: 如上面代码所示,*nightly* 为标识的 Tag 版本每天都进行更新,请注意获取最新的镜像。 !!! note - 若 Docker 版本低于 20.10.18 ,推荐升级到 Docker 最新稳定版本后再尝试。若坚持使用低版本 Docker ,需要在 ```docker run```命令中加上参数```--privileged=true```,如: + 若 Docker 版本低于 20.10.18,推荐升级到 Docker 最新稳定版本后再尝试。若坚持使用低版本 Docker,需要在 ```docker run``` 命令中加上参数 ```--privileged=true```,如: ```bash docker run -d -p 6001:6001 --name matrixone --privileged=true matrixorigin/matrixone:1.0.0-rc1 ``` - !!! note 首次启动 MatrixOne 大致需要花费 20 至 30 秒的时间,在稍作等待后,你便可以使用 MySQL 客户端连接至 MatrixOne。 From ced50db9f9470961ec0af32dda1d287c4f72ed3c Mon Sep 17 00:00:00 2001 From: cyan Date: Mon, 28 Aug 2023 17:23:32 +0800 Subject: [PATCH 17/18] add: col-storage make higher cost-effectiveness --- docs/MatrixOne/Overview/feature/cost-effective.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/docs/MatrixOne/Overview/feature/cost-effective.md b/docs/MatrixOne/Overview/feature/cost-effective.md index 658d8f1fbe..b52e808c77 100644 --- a/docs/MatrixOne/Overview/feature/cost-effective.md +++ b/docs/MatrixOne/Overview/feature/cost-effective.md @@ -41,6 +41,17 @@ MatrixOne 是专门设计用来解决混合负载问题的数据库。MatrixOne 此外,对象存储还支持 HDD 磁盘等低成本存储介质。对于集群计算性能要求不高,以存储为主的使用场景中,可以进一步降低使用成本。 +## 列式存储带来的高数据压缩比 + +结构化数据在存储时,每一列的数据结构相同。在 MatrixOne 存储层,数据以列式存储,这样的特性让数据具有更好的压缩特性: + +1. 自由压缩算法:每一列单独存放,不同列自由选择其数据结构最适用的压缩算法。这些算法可以利用列数据的特点,例如重复值、有序性和数据类型特定的压缩技术,以获得更好的压缩效果。相比之下,传统的行存储数据库使用的压缩算法通常更加通用,无法充分利用列数据的特点。 +2. 列内数据高冗余:列存数据库将相同列中的数据存储在一起,这样相似的值就会聚集在一起,冗余度更高,使得压缩算法能够更有效地识别和压缩相同或相似的数据项,从而提高压缩比。 + +MatrixOne 总体的数据压缩率最低可达 10%,具体压缩率受实际数据的数据结构、数据冗余程度等多因素影响。 + +总的来说,MatrixOne 的列式存储方式将极大的压缩您的实际存储空间,极大的降低您的存储成本。 + ## 与 MySQL 的兼容性 MatrixOne 在语法、协议以及生态工具方面都保持了与市场上最流行的开源数据库 MySQL 的兼容性,这使得熟悉 MySQL 或者以前使用 MySQL 的用户能够以极低的成本进行迁移和学习。 From 5aa7128420b24010bde413a6408dae913c3b6670 Mon Sep 17 00:00:00 2001 From: cyan Date: Tue, 29 Aug 2023 17:30:01 +0800 Subject: [PATCH 18/18] change compression ratio to 1% --- docs/MatrixOne/Overview/feature/cost-effective.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/MatrixOne/Overview/feature/cost-effective.md b/docs/MatrixOne/Overview/feature/cost-effective.md index b52e808c77..ca6f9c02ee 100644 --- a/docs/MatrixOne/Overview/feature/cost-effective.md +++ b/docs/MatrixOne/Overview/feature/cost-effective.md @@ -48,7 +48,7 @@ MatrixOne 是专门设计用来解决混合负载问题的数据库。MatrixOne 1. 自由压缩算法:每一列单独存放,不同列自由选择其数据结构最适用的压缩算法。这些算法可以利用列数据的特点,例如重复值、有序性和数据类型特定的压缩技术,以获得更好的压缩效果。相比之下,传统的行存储数据库使用的压缩算法通常更加通用,无法充分利用列数据的特点。 2. 列内数据高冗余:列存数据库将相同列中的数据存储在一起,这样相似的值就会聚集在一起,冗余度更高,使得压缩算法能够更有效地识别和压缩相同或相似的数据项,从而提高压缩比。 -MatrixOne 总体的数据压缩率最低可达 10%,具体压缩率受实际数据的数据结构、数据冗余程度等多因素影响。 +MatrixOne 总体的数据压缩率最低可达 1%,具体压缩率受实际数据的数据结构、数据冗余程度等多因素影响。 总的来说,MatrixOne 的列式存储方式将极大的压缩您的实际存储空间,极大的降低您的存储成本。