云网牛站
所在位置:首页 > Linux云数据库 > 在Linux系统上安装Dolt并使用Dolt的方法

在Linux系统上安装Dolt并使用Dolt的方法

2021-05-24 15:24:03作者:于和锐稿源:云网牛站

本文介绍在Linux系统上安装和使用Dolt的方法。它是用于SQL数据库的Git。您可以像git存储库一样进行克隆、分支、合并、推入和拉入,像连接任何MySQL数据库一样,连接到Dolt即可运行查询或使用SQL命令更新数据。

 

在Linux上安装Dolt

在Linux上,请在终端上运行以下命令,以获取并安装最新版的Dolt。请先确保已安装curl和wget:

sudo bash -c 'curl -L https://github.com/dolthub/dolt/releases/latest/download/install.sh | bash'

上面的命令将下载新的dolt版本,并将其放在/usr/local/bin/中,在大多数Linux发行版中,该路径已在$PATH中。

运行命令时,您应该看到类似以下的输出:

在Linux系统上安装Dolt并使用Dolt的方法

也可以从源安装它。有一个先决条件,那就是您必须在系统中安装Go。参考在CentOS 8/CentOS 7上用bash脚本安装Go 1.14(Golang 1.14)

启用Golang后,如下所示克隆Dolt的git存储库。请确保您已经安装了git:

$ cd ~

$ git clone https://github.com/dolthub/dolt.git

Cloning into 'dolt'...

remote: Enumerating objects: 108334, done.

remote: Counting objects: 100% (3389/3389), done.

remote: Compressing objects: 100% (1452/1452), done.

remote: Total 108334 (delta 2130), reused 3042 (delta 1901), pack-reused 104945

Receiving objects: 100% (108334/108334), 122.18 MiB | 1.31 MiB/s, done.

Resolving deltas: 100% (72616/72616), done.

导航到“go”目录:

cd ~/dolt/go/

然后运行以下命令以安装Dolt:

go install ./cmd/dolt

可以通过运行以下命令来确认已安装Dolt:

dolt version

dolt version 0.26.4

 

将Dolt投入使用

安装完成后,接下来要做的重要又富有成效的事情就是让Dolt为我们服务。为此,我们将在此处演示一些示例。当前Dolt具有Dolt CLI,在此我们将做介绍。在此之前,我们应该配置dolt。

使用用户名和电子邮件配置dolt,您将需要使用git中的创建方式来创建提交:

$ dolt config --global --add user.email user@computingforgeeks.com

Config successfully updated.

$ dolt config --global --add user.name GeeksAdmin

Config successfully updated.

1、Dolt CLI

dolt CLI具有与git相同的命令,但还有一些其他功能。在不带任何参数的情况下运行dolt可以在以下屏幕截图中共享以下输出:

在Linux系统上安装Dolt并使用Dolt的方法

2、让我们开始

到目前为止,我们已经安装了Dolt,并创建了用户名和电子邮件供我们使用。接下来,让我们创建第一个存储库,存储ComputingForGeeks文章数据:

$ mkdir computingforgeeks-posts && cd computingforgeeks-posts

像使用git一样,运行“dolt init”来建立一个新的dolt存储库。然后运行一些SQL查询以插入数据:

$ dolt init

Successfully initialized dolt data repository.

为文章创建表格:

dolt sql -q "create table computingforgeeks_posts ( id int, posts varchar(14), primary key (id) )"

显示表格(如果已创建):

$ dolt sql -q "show tables"

在Linux系统上安装Dolt并使用Dolt的方法

将值插入表中的列:

$ dolt sql -q "insert into computingforgeeks_posts (id, posts) values

(1, 'Automation'),

(2, 'DevOps'),

(3, 'Gadgets'),

(4, 'Linux'),

(5, 'Windows'),

(6, 'Databases'),

(7, 'Kubernetes'),

(8, 'Cloud'),

(9, 'Books'),

(10, 'Storage')"

输出:

Query OK, 10 rows affected

使用“dolt sql”跳入SQL Shell,或使用-q选项运行单个查询:

$ dolt sql -q "select * from computingforgeeks_posts"

在Linux系统上安装Dolt并使用Dolt的方法

查询的工作方式与任何其他具有过滤器等功能的SQL系统完全一样:

$ dolt sql -q "select * from computingforgeeks_posts where id=5"

在Linux系统上安装Dolt并使用Dolt的方法

添加新表并提交。每个命令都与git完全匹配,但是与表而不是文件匹配。只需将“git”替换为“dolt”即可。您可以在下面看到它的运行情况:

$ dolt add .

$ dolt commit -m "initial computingforgeeks posts data"

commit tsitks3g0qmlnn7f5ql9i18cgfc918dd

$ dolt status

On branch master

nothing to commit, working tree clean

接下来,让我们使用更多的SQL命令更新表,这次,我们将探索shell:

$ dolt sql

# Welcome to the DoltSQL shell.

# Statements must be terminated with ';'.

# "exit" or "quit" (or Ctrl-D) to exit.

computingforgeeks_posts> update computingforgeeks_posts set posts = 'NFS' where id = 10;

Query OK, 1 row affected

Rows matched: 1  Changed: 1  Warnings: 0

确认已进行更改:

$ dolt sql -q "select * from computingforgeeks_posts where id=10"

在Linux系统上安装Dolt并使用Dolt的方法

查看您使用dolt diff所做的更改:

$ dolt diff

在Linux系统上安装Dolt并使用Dolt的方法

然后使用dolt add和dolt commit再次提交更改:

$ dolt add computingforgeeks_posts

$ dolt commit -m "Changed Storage to NFS"

commit pto33bsehie2tnpva47kpdt704n9i39r

Changed Storage to NFS

如果您希望查看当天使用Dolt做的所有事情,则可以按以下方式检查整个日志:

$ dolt log

commit pto33bsehie2tnpva47kpdt704n9i39r

3、使用远程存储库

就像在Git中可以从远程存储库克隆代码一样,Dolt也具有相同的内置概念。通过此功能,您可以在从远程存储库克隆数据时自动进行设置。让我们尝试一个远程存储库:

$ dolt clone dolthub/corona-virus

cloning https://doltremoteapi.dolthub.com/dolthub/corona-virus

16,479 of 16,479 chunks complete. 0 chunks being downloaded currently.

导航到新数据库“directory”,然后通过“dolt sql”查看其中的表:

$ cd corona-virus

$ dolt sql

# Welcome to the DoltSQL shell.

# Statements must be terminated with ';'.

# "exit" or "quit" (or Ctrl-D) to exit.

corona_virus>

让我们查看克隆的corona_virus数据库中的表:

corona_virus> show tables;

在Linux系统上安装Dolt并使用Dolt的方法

如您所见,我们克隆的数据库包含数据,您可以通过常规SQL查询访问它们,从而不必学习新的查询语言。

4、汇入资料

Dolt的另一个有用之处在于它能够以您惯用的形式导入数据。可以使用dolt table import命令轻松将CSV或JSON之类的格式导入数据中。您可以使用“dolt table import -u”将数据添加到现有表中,也可以使用“dolt table import -c”创建一个新表。

让我们创建一个简单的csv内容以添加到我们的posts表中:

$ vim newdata.csv

id,posts

12,Ansible

13,Terraform

14,Vagrant

完成后,让我们导入数据作为表的一部分:

$ dolt table import -c -pk=id computingforgeeks_posts newdata.csv

Rows Processed: 3, Additions: 3, Modifications: 0, Had No Effect: 0Import completed successfully.

让我们看看我们的更新是否成功。运行“dolt sql”进入dolt的sql shell,然后选择该表中的所有内容。从下图可以看到,新记录已添加到我们的表中。完成后,我们可以继续进行添加,提交和推送更改,就像在git中一样:

$ dolt sql

# Welcome to the DoltSQL shell.

# Statements must be terminated with ';'.

# "exit" or "quit" (or Ctrl-D) to exit.

computingforgeeks_posts> select * from computingforgeeks_posts;

在Linux系统上安装Dolt并使用Dolt的方法

5、分支并合并

与git一样,最好在自己的分支上进行更改,然后将其合并回master。dolt checkout命令的工作原理与git checkout完全相同:

$ dolt checkout -b <branch>

merge命令的工作原理也相同:

$ dolt merge <branch>

 

最后的话

通过上面的演示,可以知道Dolt很实用。现在可以对数据库的每个细节进行版本控制、提交、跟踪和监视,并可以通过DoltHub轻松地将其共享出去。

 

相关主题

将MySQL与基本SQL命令配合使用

精选文章
热门文章