文档中心 | IMDC 创达睿通
  • 导读
  • 应用中心
    • 开发运维
      • TeamCity快速入门
      • Rainbond快速入门
      • FASTPANEL快速入门
      • Cockpit快速入门
      • Django快速入门
      • WinAllServer 全能快速入门
      • XAMPP快速入门
      • phpStudy快速入门
      • WAMP快速入门
      • WampServer快速入门
      • Web 应用环境
      • code-server快速入门
      • WDCP快速入门
      • Gogs快速入门
      • Zabbix快速入门
      • AWX快速入门
      • Portainer快速入门
      • BT宝塔 快速入门
      • Webmin快速入门
      • Gitlab快速入门
      • Jenkins快速入门
    • 客户成功
      • nopCommerce快速入门
      • Prestashop快速入门
      • OpenCart快速入门
      • Magento快速入门
    • 内容管理
      • DiscuzQ快速入门
      • Typo3快速入门
      • XWiki快速入门
      • Sakai快速入门
      • Discuz快速入门
      • Mediawiki快速入门
      • Canvas快速入门
      • Moodle快速入门
      • WordPress快速入门
      • Ghost快速入门
      • Joomla快速入门
      • Drupal快速入门
    • 企业管理
      • EspoCRM快速入门
      • Dolibarr快速入门
      • ONLYOFFICE Workspace快速入门
      • VtigerCRM快速入门
      • ERPNext快速入门
      • SuiteCRM快速入门
      • Odoo快速入门
    • 人工智能
      • OpenCV快速入门
      • TensorFlow快速入门
    • 设计与创作
      • APITable快速入门
      • APEX快速入门
      • Mingdao 明道快速入门
      • Scratch快速入门
      • Budibase快速入门
    • 数据与分析
      • Matomo快速入门
      • Akeneo快速入门
      • Elastic Stack快速入门
      • Graylog快速入门
      • Grafana快速入门
      • Metabase快速入门
      • Superset快速入门
      • Knowage快速入门
    • 协作与生产力
      • Pydio Cells快速入门
      • KodBox快速入门
      • iRedMail快速入门
      • Mattermost快速入门
      • Zentao 禅道 快速入门
      • Seafile快速入门
      • Redmine快速入门
      • OwnCloud快速入门
      • Alfresco快速入门
      • Nextcloud快速入门
    • 云原生架构
      • SRS快速入门
      • MinIO快速入门
      • Parse Server快速入门
      • ONLYOFFICE Docs快速入门
      • HAProxy快速入门
      • Kafka快速入门
      • Rocket快速入门
      • RabbitMQ快速入门
      • ActiveMQ快速入门
    • 云数据库
      • Oracle Database快速入门
      • SQLite快速入门
      • Neo4j快速入门
      • Memcached快速入门
      • Redis快速入门
      • CouchDB快速入门
      • MongoDB快速入门
      • RethinkDB快速入门
      • PostgreSQL快速入门
      • CloudBeaver快速入门
      • MySQL/MariaDB快速入门
      • SQL Server快速入门
    • 云桌面
      • 原生桌面
  • 购买与支持
    • IT 服务台
  • 用户指南
    • 云服务指南
      • Azure指南
      • AWS指南
    • 词汇表
  • 联系我们
由 GitBook 提供支持
在本页
  • 准备​
  • RethinkDB 初始化安装向导​
  • RethinkDB 使用入门​
  • RethinkDB 常用操作​
  • RethinkDB 参数​
  1. 应用中心
  2. 云数据库

RethinkDB快速入门

RethinkDB 是一个曾经与 MongoDB 齐名的开源文档(JASON)数据库,目前完全由开源社区驱动。它支持多种数据类型,提供可视化的控制台,很方便部署和构建集群。

上一页MongoDB快速入门下一页PostgreSQL快速入门

最后更新于1年前

准备

部署 创达睿通 提供的 RethinkDB 之后,需完成如下的准备工作:

  1. 在云控制台获取您的 服务器公网IP地址

  2. 在云控制台安全组中,确保 Inbound(入)规则 下的 TCP:28015,9090 端口已经开启

  3. 在服务器中查看 RethinkDB 的 默认账号和密码

  4. 若想用域名访问 RethinkDB,务必先完成 域名五步设置 过程

  1. 使用本地电脑的浏览器访问网址:http://域名:9090 或 http://服务器公网IP:9090,准备登陆 RethinkDB 控制台

  2. 输入用户名和密码,成功登录到 RethinkDB 后台

若碰到问题,请第一时刻联系 技术支持。也可以先参考下面列出的问题定位或 FAQ 尝试快速解决问题。

下面以 演示如何增加 Database 和 Table 作为一个任务,帮助用户快速入门:

  1. 依次打开:【Tables】>【Add Database】,增加一个数据库

  2. 打开数据库,点击【Add Table】增加表

需要了解更多 RethinkDB 的使用,请参考官方文档:RethinkDB Documentation

RethinkDB 控制台默认没有提供登录认证,本部署方案采用了 Nginx auth_bacic 作为登录认证方案

RethinkDB 远程访问的开关存储在:/etc/rethinkdb/instances.d/instance.conf 文件中(容器内部)。

只需执行下面命令,然后重启服务,即可开启远程访问。

sudo sed -n "s/^#bind=/bind=0.0.0.0/g" /etc/rethinkdb/instances.d/instance.conf

下面以新增用户、密码和重置密码作为范例进行说明:

  1. 以 admin 用户身份连接数据库(只有 admin 用户具有用户系统表的访问权限,因此必须以 admin 用户连接到数据库)

    from rethinkdb import r
    
    # 无密码连接
    r.connect('localhost', 28015).repl()
    
    # 有密码连接
    r.connect('localhost', 28015, password='123456').repl()
  2. 新增用户名和密码(用户信息存储在 users 系统表中)

    r.db('rethinkdb').table('users').insert({id: 'bob', password: 'secret'})
  3. 重置指定用户的密码

    # 重置为新密码
    r.db('rethinkdb').table('users').get('username').update({password: newpassword})
    
    # 重置为空密码
    r.db('rethinkdb').table('users').get('username').update({password: false})

常用的 RethinkDB 重置密码相关的操作主要有修改密码和清空密码(将密码设置为空)两种方式。

  1. 登录 RethinkDB Web 界面,在【Data explorer】下输入所需的命令

    # 修改密码命令
    r.db('rethinkdb').table('users').get('admin').update({password: 'newpassword'})
    
    # 清空密码命令
    r.db('rethinkdb').table('users').get('admin').update({password: false})
  2. 点击【run】后生效

RethinkDB 可视化控制台是它的重要组成部分,是其重要的产品特征。

  1. 使用本地电脑的浏览器访问网址:http://服务器公网IP:9090,准备登陆 RethinkDB 控制台

  2. 输入用户名和密码

  3. 成功登录到 RethinkDB 后台

  4. 依次打开:【Tables】>【Add Database】,增加一个数据库

  5. 打开数据库,点击【Add Table】增加表

RethinkDB 应用中包含 Nginx, Docker 等组件,可通过 通用参数表 查看路径、服务、端口等参数。

通过运行docker ps,可以查看到 RethinkDB 运行时所有的 Container:

CONTAINER ID   IMAGE              COMMAND                  CREATED              STATUS              PORTS                                                                                                                                     NAMES
e9cfcd42987e   rethinkdb:latest   "/bin/bash -c 'rethi…"   About a minute ago   Up About a minute   0.0.0.0:28015->28015/tcp, :::28015->28015/tcp, 0.0.0.0:29015->29015/tcp, :::29015->29015/tcp, 0.0.0.0:9090->8080/tcp, :::9090->8080/tcp   rethinkdb

RethinkDB 安装目录: /data/apps/rethinkdb RethinkDB 数据目录: /data/apps/rethinkdb/data/rethinkdb_data RethinkDB 配置文件目录: /etc/rethinkdb/instances.d

配置文件目录是指容器内目录,默认是空的

端口号
用途
必要性

28015

RethinkDB connect

可选

9090

RethinkDB Web-based GUI

可选

docker exec -it rethinkdb rethinkdb --version
sudo docker l start | stop | restart | stats rethinkdb

RethinkDB 提供了强大的的服务端命令行工具 rethinkdb

$ docker exec -it rethinkdb bash
$ rethinkdb -h

Running 'rethinkdb' will create a new data directory or use an existing one,
  and serve as a RethinkDB server.
File path options:
  -d [ --directory ] path                     specify directory to store data and
                                              metadata
  --io-threads n                              how many simultaneous I/O operations
                                              can happen at the same time
  --direct-io                                 use direct I/O for file access
  --cache-size mb                             total cache size (in megabytes) for
                                              the process. Can be 'auto'.

Server options:
  -n [ --server-name ] arg                    the name for this server (as will
                                              appear in the metadata).  If not
                                              specified, one will be generated from
                                              the hostname and a random
                                              alphanumeric string.
  -t [ --server-tag ] arg                     a tag for this server. Can be
                                              specified multiple times.

Network options:
  --bind {all | addr}                         add the address of a local interface
                                              to listen on when accepting
                                              connections, loopback addresses are
                                              enabled by default. Can be overridden
                                              by the following three options.
  --bind-cluster {all | addr}                 override the behavior specified by
                                              --bind for cluster connections.
  --bind-driver {all | addr}                  override the behavior specified by
                                              --bind for client driver connections.
  --bind-http {all | addr}                    override the behavior specified by
                                              --bind for web console connections.
  --no-default-bind                           disable automatic listening on
                                              loopback addresses
  --cluster-port port                         port for receiving connections from
                                              other servers
  --driver-port port                          port for rethinkdb protocol client
                                              drivers
  -o [ --port-offset ] offset                 all ports used locally will have this
                                              value added
  -j [ --join ] host[:port]                   host and port of a rethinkdb server
                                              to connect to
  --reql-http-proxy [protocol://]host[:port]  HTTP proxy to use for performing
                                              `r.http(...)` queries, default port
                                              is 1080
  --canonical-address host[:port]             address that other rethinkdb
                                              instances will use to connect to us,
                                              can be specified multiple times
  --join-delay seconds                        hold the TCP connection open for
                                              these many seconds before joining
                                              with another server
  --cluster-reconnect-timeout seconds         maximum number of seconds to attempt
                                              reconnecting to a server before
                                              giving up, the default is 24 hours

TLS options:
  --http-tls-key key_filename                 private key to use for web
                                              administration console TLS
  --http-tls-cert cert_filename               certificate to use for web
                                              administration console TLS
  --driver-tls-key key_filename               private key to use for client driver
                                              connection TLS
  --driver-tls-cert cert_filename             certificate to use for client driver
                                              connection TLS
  --driver-tls-ca ca_filename                 CA certificate bundle used to verify
                                              client certificates; TLS client
                                              authentication disabled if omitted
  --cluster-tls-key key_filename              private key to use for intra-cluster
                                              connection TLS
  --cluster-tls-cert cert_filename            certificate to use for intra-cluster
                                              connection TLS
  --cluster-tls-ca ca_filename                CA certificate bundle used to verify
                                              cluster peer certificates
  --tls-min-protocol protocol                 the minimum TLS protocol version that
                                              the server accepts; options are
                                              'TLSv1', 'TLSv1.1', 'TLSv1.2';
                                              default is 'TLSv1.2'
  --tls-ciphers cipher_list                   specify a list of TLS ciphers to use;
                                              default is 'EECDH+AESGCM'
  --tls-ecdh-curve curve_name                 specify a named elliptic curve to use
                                              for ECDHE; default is 'prime256v1'
  --tls-dhparams dhparams_filename            provide parameters for DHE key
                                              agreement; REQUIRED if using DHE
                                              cipher suites; at least 2048-bit
                                              recommended

Authentication options:
  --initial-password {auto | password}        sets an initial password for the
                                              "admin" user on a new server.  If set
                                              to auto, a random password will be
                                              generated.

Web options:
  --web-static-directory directory            the directory containing web
                                              resources for the http interface
  --http-port port                            port for web administration console
  --no-http-admin                             disable web administration console

CPU options:
  -c [ --cores ] n                            the number of cores to use

Service options:
  --pid-file path                             a file in which to write the process
                                              id when the process is running
  --daemon                                    daemonize this rethinkdb process

Set User/Group options:
  --runuser user                              run as the specified user
  --rungroup group                            run with the specified group

Help options:
  -h [ --help ]                               print this help
  -v [ --version ]                            print the version number of rethinkdb

Log options:
  --log-file file                             specify the file to log to, defaults
                                              to 'log_file'
  --no-update-check                           obsolete.  Update checking has been
                                              removed.

Configuration file options:
  --config-file                               take options from a configuration
                                              file


There are a number of subcommands for more specific tasks:
    'rethinkdb create': prepare files on disk for a new server instance
    'rethinkdb serve': use an existing data directory to host data and serve queries
    'rethinkdb proxy': serve queries from an existing cluster but don't host data
    'rethinkdb export': export data from an existing cluster into a file or directory
    'rethinkdb import': import data from from a file or directory into an existing cluster
    'rethinkdb dump': export and compress data from an existing cluster
    'rethinkdb restore': import compressed data into an existing cluster
    'rethinkdb index-rebuild': rebuild outdated secondary indexes
    'rethinkdb repl': start a Python REPL with the RethinkDB driver

For more information, run 'rethinkdb help [subcommand]'.

RethinkDB 官方没有客户端 CLI,但提供了Python, Java, Node 等开发语言的 RethinkDB client drivers。

用户通过这些 drivers 以程序的方式连接 RethinkDB 服务,然后进行场景的数据库操作。

下面以 Python 为例描述如何具体使用:

  1. 安装 rethinkdb 驱动

    pip3 install rethinkdb
  2. 编写 Python 程序,连接 RethinkDB 服务器

    from rethinkdb import r
    r.connect('localhost', 28015).repl()
    r.db('test').table_create('tv_shows').run()
    r.table('tv_shows').insert({ 'name': 'Star Trek TNG' }).run()

上述客户端命令即 API

RethinkDB 初始化安装向导

详细步骤

出现问题?

RethinkDB 使用入门

RethinkDB 常用操作

控制台密码管理

远程访问

用户管理

重置密码

图形化工具

RethinkDB 参数

路径

端口

版本

服务

命令行

服务端

客户端

API

​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​