跳转至

连接 Nebula Graph 服务

Nebula Graph 支持多种类型客户端,包括 CLI 客户端、GUI 客户端和流行编程语言开发的客户端。本文将概述 Nebula Graph 客户端,并介绍如何使用原生 CLI 客户端 Nebula Console。

Nebula Graph 客户端

用户可以使用已支持的客户端或者命令行工具来连接 Nebula Graph 数据库。

使用 Nebula Console 连接 Nebula Graph

前提条件

  • Nebula Graph 服务已启动
  • 运行 Nebula Console 的机器和运行 Nebula Graph 的服务器网络互通。

操作步骤

  1. Nebula Console 下载页面,确认需要的版本,单击 Assets

    Note

    建议选择最新版本。

    Select a Nebula Graph version and click **Assets**

  2. Assets 区域找到机器运行所需的二进制文件,下载文件到机器上。

    Click to download the package according to your hardware architecture

  3. (可选)为方便使用,重命名文件为nebula-console

    Note

    在 Windows 系统中,请重命名为nebula-console.exe

  4. 在运行 Nebula Console 的机器上执行如下命令,为用户授予 nebula-console 文件的执行权限。

    Note

    Windows 系统请跳过此步骤。

    $ chmod 111 nebula-console
    
  5. 在命令行界面中,切换工作目录至 nebula-console 文件所在目录。

  6. 执行如下命令连接 Nebula Graph。

    • Linux 或 macOS

      $ ./nebula-console -addr <ip> -port <port> -u <username> -p <password>
        [-t 120] [-e "nGQL_statement" | -f filename.nGQL]
      
    • Windows

      > nebula-console.exe -addr <ip> -port <port> -u <username> -p <password>
        [-t 120] [-e "nGQL_statement" | -f filename.nGQL]
      

    参数说明如下。

    参数 说明
    -h 显示帮助菜单。
    -addr 设置要连接的 graphd 服务的 IP 地址。默认地址为 127.0.0.1。
    -port 设置要连接的 graphd 服务的端口。默认端口为 9669。
    -u/-user 设置 Nebula Graph 账号的用户名。未启用身份认证时,可以使用任意已存在的用户名(默认为root)。
    -p/-password 设置用户名对应的密码。未启用身份认证时,密码可以填写任意字符。
    -t/-timeout 设置整数类型的连接超时时间。单位为秒,默认值为 120。
    -e/-eval 设置字符串类型的 nGQL 语句。连接成功后会执行一次该语句并返回结果,然后自动断开连接。
    -f/-file 设置存储 nGQL 语句的文件的路径。连接成功后会执行该文件内的 nGQL 语句并返回结果,执行完毕后自动断开连接。

用户可以使用./nebula-console --help命令获取所有参数的说明,也可以在项目仓库找到更多说明。

Nebula Console 命令

Nebula Console 提供部分命令,可以导出 CSV 文件、导出 DOT 文件、导入测试数据集等。

Note

命令不区分大小写。

导出 CSV 文件

CSV 文件用于保存命令执行的返回结果。

Note

  • CSV 文件保存在当前工作目录中,即 Linux 命令pwd显示的目录。
  • 命令只对下一条查询语句生效。

导出 CSV 文件命令如下:

nebula> :CSV <file_name.csv>

导出 DOT 文件

DOT 文件同样用于保存命令执行的返回结果,其保存的结果信息和 CSV 文件不同。

Note

  • DOT 文件保存在当前工作目录中,即 Linux 命令pwd显示的目录。
  • DOT 文件的内容可以复制后在 GraphvizOnline 网页中粘贴,生成可视化的执行计划图。
  • 命令只对下一条查询语句生效。

导出 DOT 文件命令如下:

nebula> :dot <file_name.dot>

示例:

nebula> :dot a.dot
nebula> PROFILE FORMAT="dot" GO FROM "player100" OVER follow;

加载测试数据集

测试数据集名称为 nba,详细 Schema 信息和数据信息请使用相关SHOW命令查看。

加载测试数据集命令如下:

nebula> :play nba

重复执行

重复执行下一个命令 N 次,然后打印平均执行时间。命令如下:

nebula> :repeat N

示例:

nebula> :repeat 3
nebula> GO FROM "player100" OVER follow;
+-------------+
| follow._dst |
+-------------+
| "player101" |
| "player125" |
+-------------+
Got 2 rows (time spent 2602/3214 us)

Fri, 20 Aug 2021 06:36:05 UTC

+-------------+
| follow._dst |
+-------------+
| "player101" |
| "player125" |
+-------------+
Got 2 rows (time spent 583/849 us)

Fri, 20 Aug 2021 06:36:05 UTC

+-------------+
| follow._dst |
+-------------+
| "player101" |
| "player125" |
+-------------+
Got 2 rows (time spent 496/671 us)

Fri, 20 Aug 2021 06:36:05 UTC

Executed 3 times, (total time spent 3681/4734 us), (average time spent 1227/1578 us)

睡眠

睡眠 N 秒。常用于修改 Schema 的操作中,因为修改 Schema 是异步实现的,需要在下一个心跳周期才同步数据。命令如下:

nebula> :sleep N

断开连接

用户可以使用:EXIT或者:QUIT从 Nebula Graph 断开连接。为方便使用,Nebula Console 支持使用不带冒号(:)的小写命令,例如quit

示例:

nebula> :QUIT

Bye root!

常见问题

如何通过源码安装 Nebula Console?

下载和编译 Nebula Console 的最新源码,请参见 GitHub nebula console 页面的说明。


最后更新: March 7, 2023