如何在 Ubuntu 18.04 上连接托管数据库

介绍

管理数据库比自我管理的数据库有许多好处,包括自动更新,简化扩展和高可用性。如果您是新手使用管理数据库,那么执行某些任务的最佳方式 - 如连接到数据库 - 可能并不明显。

本指南概述了如何在 Ubuntu 18.04 服务器上安装各种数据库管理系统(DBMS)的客户端程序,包括 PostgreSQL, MySQL, Redis,和 MongoDB

<$>[注] 注: 本指南中描述的说明是用 DigitalOcean Managed Databases进行测试的,但它们通常应该适用于任何云提供商的管理数据库。

前提条件

要遵循本指南中详细的说明,您将需要:

  • 访问运行于Ubuntu 18.04的服务器。 该服务器应有一个具有行政特权的非终端用户和一个配置有 " ufw " 的防火墙。 要设置此功能,请遵循我们的Ubuntu 18.04初始服务器设置指南.
  • 管理的数据库实例。 这个教程提供如何连接到各种数据库管理系统,特别是PostgreSQL,MySQL,Redis,和MongoDB的指令. 为了提供一个数字海洋管理数据库,审查我们为您选择的DBMS编写的文件:
  • [邮 (https://docs.digitalocean.com/products/databases/postgresql/how-to/create/)

一旦您有这些前提条件,跳到任何与您的数据库管理系统(DBMS)一致的部分。

连接到管理 PostgreSQL 数据库

要连接到受管理的 PostgreSQL 数据库,您可以使用psql,这是 PostgreSQL 的标准命令行客户端,它是开源的,由 PostgreSQL 开发小组维护,并且通常在安装 PostgreSQL 服务器时包含。

您可以通过安装postgresql-client包与APT自行安装psql,但如果您从默认的Ubuntu 18.04存储库中安装它,它将安装psql的版本10,而PostgreSQL的最新主要版本是版本13。

一般来说,您仍然可以使用不匹配您的数据库版本的psql版本,但是,如果您的psql版本比您的 Postgres 数据库版本更老,则可能无法使用新版本数据库中包含的某些功能。

安装psql客户端的特定版本的一种方法是将官方的 PostgreSQL APT 存储库添加到您的计算机的 APT 资源列表中。

cURL 是许多用于传输数据的操作系统上可用的命令行工具,它会读取存储的任何数据,并将内容打印到系统输出中,在下面的示例中,cURL 会打印 GPG 密钥文件的内容,然后将其输入到以下sudo apt-key add - 命令中,从而将 GPG 密钥添加到您的信任密钥列表中。

另外,请注意,这个弯曲命令使用了fsSL选项,这些选项基本上告诉cURL默默失败,这意味着如果cURL因某种原因无法与GPG服务器联系,或者GPG服务器处于停机状态,它不会意外地将结果的错误代码添加到您的信任密钥列表中:

1curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -

此命令将返回OK,如果已成功添加密钥:

1[secondary_label Output]
2OK

如果您想重复检查密钥是否正确添加,则可以使用以下命令:

1apt-key list

这将返回PostgreSQL密钥在输出中的某个地方:

1[secondary_label Output]
2/etc/apt/trusted.gpg
3--------------------
4pub rsa4096 2011-10-13 [SC]
5      B97B 0AFC AA1A 47F0 44F2 44A0 7FCC 7D46 ACCC 4CF8
6uid           [ unknown] PostgreSQL Debian Repository
7. . .

此时,您的 APT 安装只有 PostgreSQL 存储库的签名密钥,它不知道在哪里找到存储库或其托管的包。

在您的服务器上,APT 正在寻找可下载和安装的在线包源的两个地方:sources.list文件和sources.list.d目录,两者都可以在/etc/apt/目录中找到。

執行以下命令,在「sources.list.d」目錄中創建一個名為「pdgd.list」的檔案. 該檔案中唯一的內容是單一行閱讀 deb https://apt.postgresql.org/pub/repos/apt bionic-pgdg main:

1echo "deb https://apt.postgresql.org/pub/repos/apt bionic-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list

这个单行告诉APT需要知道源是什么以及在哪里找到它的一切:

  • `deb': 这意味着源条目引用了正版Debian架构. 在其他情况下,该行的这一部分可能为"deb-src",这意味着源项代表了Debian发行的源代码.
  • https://apt.postgresql.org/pub/repos/apt: 这是一个URI,指向可以找到APT数据的位置. 在这种情况下,URI指官方PostgreSQL寄存器所在的HTTPS地址.
  • `双管-pgdg': Ubuntu寄存器可以包含多个释放的包. 这部分线条规定APT只应从Ubuntu的"bionic"发布("bionic Beaver"为Ubuntu 18.04的代号)中下载文件. 并请注意,本寄存器将"-pgdg"(简称"PostgreSQL Global Development Group")附加到每个发行名称的末尾.
  • `主要': 本部分将APT指向了四个Ubuntu寄存器组件之一. 在这种情况下,它指的就是["主要"成分 (https://help.ubuntu.com/community/Repositories# Main). .

运行此命令后,更新您的服务器的本地包索引,以便APT知道在哪里找到安装psql壳的包:

1sudo apt update

更新您的机器的本地包索引后,您已经准备好安装您选择的版本的 psql. 提供 psql 客户端的包都以 postgresql-client 开始,因此您可以通过运行以下命令找到有关所有版本的信息:

1apt-cache search postgresql-client

这将返回所有可用的包的列表,其名称包括postgresql-client,以及每个包的简要描述:

 1[secondary_label Output]
 2postgresql-client - front-end programs for PostgreSQL (supported version)
 3postgresql-client-10 - front-end programs for PostgreSQL 10
 4postgresql-client-common - manager for multiple PostgreSQL client versions
 5postgresql-client-10-dbgsym - debug symbols for postgresql-client-10
 6postgresql-client-11 - front-end programs for PostgreSQL 11
 7postgresql-client-11-dbgsym - debug symbols for postgresql-client-11
 8postgresql-client-12 - front-end programs for PostgreSQL 12
 9postgresql-client-12-dbgsym - debug symbols for postgresql-client-12
10postgresql-client-13 - front-end programs for PostgreSQL 13
11postgresql-client-13-dbgsym - debug symbols for postgresql-client-13
12postgresql-client-8.2 - front-end programs for PostgreSQL 8.2
13postgresql-client-8.3 - front-end programs for PostgreSQL 8.3
14postgresql-client-8.4 - front-end programs for PostgreSQL 8.4
15postgresql-client-9.0 - front-end programs for PostgreSQL 9.0
16postgresql-client-9.1 - front-end programs for PostgreSQL 9.1
17postgresql-client-9.2 - front-end programs for PostgreSQL 9.2
18postgresql-client-9.3 - front-end programs for PostgreSQL 9.3
19postgresql-client-9.4 - front-end programs for PostgreSQL 9.4
20postgresql-client-9.5 - front-end programs for PostgreSQL 9.5
21postgresql-client-9.6 - front-end programs for PostgreSQL 9.6

尋找與您執行管理 Postgres 資料庫的版本最適合的包,然後使用「apt install」命令安裝它。

1sudo apt install postgresql-client-13

APT 将要求您确认您想要安装该软件包。

一旦此操作完成,您可以连接到您的管理 Postgres 数据库,而无需进一步配置。

  • `-U',您想要连接的 PostgreSQL 用户
  • `-h',管理的数据库主机名或IP地址
  • `-p',管理的数据库正在监听的TCP端口连接
  • `-d',您想要连接到的特定数据库
  • -set',先于其他连接变量和变量'值。 例如,如果您在连接时想要验证数据库的 CA 证书,您将包含 - set=slmode= require' 在您的命令中
  • -W',它告诉psql'以提示您使用 PostgreSQL 用户密码。 请注意, 您可以在 psql 命令前加上PGPASSWORD=password , 但一般认为在命令行上不包含密码更为安全 。

随着这些旗帜的包含,psql命令的语法将看起来像这样:

1psql -U user -h host -p port -d database --set=variable=value -W

或者,如果您的管理数据库提供商提供一个 统一资源标识符 (URI) 连接,您可以使用以下语法:

1psql postgresql://username:password@host:port/database?option_1=value&option_n=value

如果您正在连接到 DigitalOcean Managed PostgreSQL 数据库,您可以在您的 Cloud 控制面板 中找到所有这些连接信息。在左侧侧栏菜单中,点击** Databases** ,然后点击您想要连接的数据库,然后向下滚动以找到其** 连接详细信息** 部分。

  • 选择 ** 连接参数 选项,并将相关字段单独复制到前面详细描述的 psql语法中 * ** 选择** 连接字符串** 选项,并复制一个已准备的连接URI,您可以粘贴到上面描述的连接URI语法中 * ** 选择** Flags** 选项,并复制一个已准备使用的 psql命令,您可以粘贴到您的终端,以实现连接

美元

在此,您已经准备好开始使用您的管理 PostgreSQL 实例。 有关如何与 PostgreSQL 互动的更多信息,请遵循我们的指南在 如何管理 SQL 数据库. 您也可能会发现我们的 介绍在 PostgreSQL 中的查询有用。

连接到管理的 MySQL 数据库

要访问管理下的 MySQL 数据库, 您需要在您计划连接的机器上安装 MySQL 客户端 。 可以使用由MySQL Control-Line Client提供的"mysql"命令来连接,但这个命令不支持连接字符串. 为了更灵活地与您联系,我们建议您使用`mysqlsh'命令,允许您使用官方MySQL Shell,因为它使您有与旗帜或连接URI连接的自由.

要访问 DigitalOcean Managed MySQL 数据库,您需要安装 MySQL 壳的版本 8.0 或更高版本. 要做到这一点,您必须先在安装 mysql-shell 包之前添加 MySQL 软件库。

开始于浏览器中导航到 [MySQL APT Repository page] (https://dev.mysql.com/downloads/repo/apt/). 在右下角查找 ** Download** 按钮并点击到下页。 此页面将提示您登录或注册 Oracle 网页账户 。 你可以跳过这个 然后找一个链接 上面写着"不谢谢" 开始我的下载 右键单击链接并选择 ** Copy Link 地址** (此选项可能措辞不同,取决于您的浏览器) .

在您的服务器上,移动到您可以写到的目录. /tmp/ 是一个在 Linux 系统上发现的临时目录,通常是通用可写的,默认情况下:

1cd /tmp

使用curl下载文件,记住贴上你刚刚复制的地址,而不是以下命令的突出部分。你还需要将两个命令行标志传输到curlO命令curl输出到一个文件,而不是标准输出。L标志使curl遵循HTTP重定向,这在这种情况下是必要的,因为你复制的地址实际上在下载文件之前重定向到另一个位置:

1curl -OL https://dev.mysql.com/get/mysql-apt-config_0.8.17-1_all.deb

此命令会将文件下载到当前的工作目录. 列出文件以确保:

1ls

此命令會列出新下載的檔案:

1[secondary_label Output]
2mysql-apt-config_0.8.17-1_all.deb
3. . .

现在您可以将 MySQL APT 存储库添加到您的系统存储库列表中. 命令 dpkg 用于安装、删除和检查 .deb 软件包. 以下命令包含 -i 旗帜,表示您希望从指定的文件中安装:

1sudo dpkg -i mysql-apt-config*

在安装过程中,您将收到一个配置屏幕,您可以指定您喜欢的MySQL版本,以及安装其他MySQL相关工具的存储库的选项。默认值将添加最新的MySQL稳定版本的存储库信息,而不是其他任何东西。

Selecting mysql-apt-config configuration options

接下来,该软件包将添加存储库,更新您的apt软件包缓存以使新软件包可用:

1sudo apt update

接下来,你可以稍微清理你的系统,删除你下载的文件,因为你不会需要它在未来. 这是绝对不必要的,因为任何写在 /tmp/ 目录的文件将在十天后自动删除,但你现在可以用这个命令删除该文件:

1rm mysql-apt-config*

注意: 如果您需要更新这些存储库的配置,请运行以下命令来选择新选项:

1sudo dpkg-reconfigure mysql-apt-config

选择新选项后,运行以下命令来更新您的包缓存:

1sudo apt update

美元

现在你已经添加了MySQL存储库,你已经准备好安装实际的MySQL Shell软件了。

1sudo apt install mysql-shell

一旦该命令完成,请检查软件版本号,以确保您有最新版本:

1mysqlsh --version
1[secondary_label Output]
2mysqlsh Ver 8.0.25 for Linux on x86_64 - for MySQL 8.0.25 (MySQL Community Server (GPL))

安装了mysql-shell包后,您可以通过运行mysqlsh命令来访问您的管理数据库,以以下标志作为参数:

您可以将您的密码直接包含在连接命令中,然后是)但,出于安全原因,这通常不建议 * -h,数据库的主机名称或IP地址 * -P,即MySQL正在收听连接的TCP端口 * -D,您想要连接的特定数据库

此外,你不妨列入`-sql ' 选项。 当MySQL Shell打开新会话时,它以SQL,JavaScript,或Python三种模式之一进行. SQL模式打开一个会话,在会话中您可以使用SQL查询并操纵数据,以及创建数据库,表格,组,或者您需要存储和管理您数据的其他任何东西. JavaScript 和 Python 模式允许您使用这些语言可用的函数来创建一些会话对象. 您可以使用多个 MySQL 服务器实例 .

MySQL Shell 会默认地在 JavaScript 模式中打开会话,因此,如果您想像 MySQL 命令行客户端一样运行 SQL 查询,则需要指定 --sql 选项以在 SQL 模式中建立连接。

使用这些旗帜,‘mysqlsh’语法将看起来像这样:

1mysqlsh -u user -p -h host -P port -D database --sql

或者,如果您有可用于连接的连接URI,则可以使用这样的语法:

1mysqlsh --sql mysql://user:password@host:port/database?option_1=value&option_n=value

如果您正在连接到 DigitalOcean 管理数据库,您可以在您的 Cloud 控制面板 中找到所有这些连接信息。在左侧侧栏菜单中,单击** Databases** ,然后单击您想要连接的数据库,然后向下滚动以找到其** 连接详细信息** 部分。

  • 选择 ** 连接参数 选项,并将相关字段单独复制到前面描述的mysqlsh语法中 * ** 选择** 连接字符串** 选项,并复制准备好的连接URI,您可以粘贴上方详细的连接字符串命令

美元

有了它,您已经准备好开始使用您的管理 MySQL 实例。

如果您是新手使用MySQL Shell的,需要注意的一点是,为了关闭连接,其他MySQL客户端使用的退出命令不会起作用。

1\q
1[secondary_label Output]
2Bye!

有关如何与MySQL互动的更多信息,我们鼓励您阅读我们的指南在 如何管理SQL数据库. 您也可能会发现我们的 介绍在MySQL中的查询有用。

MySQL 8中的密码身份验证

在 MySQL 8.0 和更高版本中,默认身份验证插件是 caching_sha2_password. 然而,从本文开始,PHP 不支持 caching_sha2_password. 如果您计划使用管理的 MySQL 数据库与使用 PHP 的应用程序,如 WordPress 或 phpMyAdmin,则应用程序试图连接到数据库时可能会出现问题。

如果您可以访问数据库的配置文件,您可以添加一个设置,强制该数据库使用 PHP 支持的身份验证插件 - 例如, mysql_native_password - 默认情况下:

1[label Example MySQL Configuration File]
2[mysqld]
3default-authentication-plugin=mysql_native_password

然而,一些受管理的数据库提供商(包括DigitalOcean)不会为最终用户提供数据库配置文件,在这种情况下,您可以连接到数据库并为任何需要连接到数据库的现有MySQL用户运行ALTER USER命令,但无法使用caching_sha2_password插件:

1ALTER USER user IDENTIFIED WITH mysql_native_password BY 'password';

当然,您可以通过在各自的CREATE USER声明中指定插件来设置新用户以使用mysql_native_password进行身份验证:

1CREATE USER user IDENTIFIED WITH mysql_native_password BY 'password';

如果您正在使用 DigitalOcean 管理数据库,请注意,如果您将用户配置为使用caching_sha2_password以外的插件进行身份验证,则您将无法在云控制面板中找到该用户的密码。

连接到管理 Redis 数据库

当你在本地安装Redis时,它与Redis-cli,Redis命令行接口相接. 您可以使用 ) ) , 但也有替代的 Redis 客户端已经内置了 TLS 支持 .

对于 DigitalOcean Managed Redis 数据库,我们建议您安装 Redli,这是一个开源、交互式的 Redis 终端。 要做到这一点,请前往 Redli GitHub 项目的 Releases Page 并找到最新版本的** Assets** 表。 从此开始,这将是版本 0.5.2。

在那裡,找到結束在「linux_amd64.tar.gz」的檔案的連結. 這個連結指向一個被稱為 tarball 的檔案,一旦提取,將在您的系統上創建幾個檔案。

在您的服务器上,移动到您可以写到的目录:

1cd /tmp

然后,将链接粘贴到以下wget命令中,取代了突出的URL,该命令将下载到您的服务器:

1wget https://github.com/IBM-Cloud/redli/releases/download/v0.5.2/redli_0.5.2_linux_amd64.tar.gz

一旦文件已下载到您的服务器,提取 tarball:

1tar xvf redli_0.5.2_linux_amd64.tar.gz

这将在您的服务器上创建以下文件:

1[secondary_label Output]
2LICENSE.txt
3README.md
4redli

该文件是 Redli binary file。 将其移动到 /usr/local/bin 目录,Ubuntu 寻找可执行文件的位置:

1sudo mv redli /usr/local/bin/

此时,你可以稍微清理你的系统,并删除子:

1rm redli_0.5.2_linux_amd64.tar.gz

现在您可以使用 Redli 连接到您管理的 Redis 实例,您可以通过运行redli命令,然后使用以下旗帜:

这可以是主机名或IP地址 * -a,用于验证 Redis 实例 * -p 的密码,连接到

请注意,此示例还包括--tls选项,允许您通过 TLS/SSL连接到受管理的 Redis 数据库,而无需隧道:

1redli --tls -h host -a password -p port

Redli对redis-cli的优势之一是它理解了rediss协议,该协议用于指定指向Redis数据库的URI。

1redli --tls -u rediss://user:password@host:port

请注意,此示例包含-u标志,该标志指示下面的参数将是一个连接URI。

如果您正在连接到 DigitalOcean 管理数据库,您可以在您的 Cloud 控制面板 中找到所有这些连接信息。在左侧侧栏菜单中,单击** Databases** ,然后单击您想要连接的数据库,然后向下滚动以找到** 连接详细信息** 部分。

  • 选择 ** 连接参数 选项,并将相关字段单独复制到前面详细描述的redli语法中 * ** 选择** 连接字符串** 选项,并复制您可以与上文描述的连接字符串语法一起使用的已准备的连接URI * ** 选择** Flags** 选项,并复制可用于使用的redli命令,您可以将其粘贴到您的终端,以实现连接

美元

在此之后,您可以开始与您管理的 Redis 实例进行交互。有关如何与 Redis 合作的更多信息,请参阅我们在 How To Manage a Redis Database上的小册子系列。

连接到管理 MongoDB 数据库

当您在本地设置MongoDB服务器时,它将与提供一个被称为mongo壳的程序包一起安装,而mongo壳是一个基于JavaScript的壳界面,您可以使用它来管理和与Mongo数据交互。

您可以安装mongo壳,以及完整的MongoDB服务器,通过下载和安装mongodb包从默认的Ubuntu存储库。然而,从本文写作开始,默认的APT存储库可用的MongoDB版本是版本 3.6.1。

一般来说,mongo壳的较旧版本仍然会与更新的MongoDB服务器一起工作,但这种版本不匹配可能会导致某些命令的问题,这些命令仅在较新版本中可用。

DigitalOcean Managed MongoDB Databases 运行 Mongo 4.4 版本,其他提供管理 Mongo 数据库作为服务的云供应商通常只提供比版本 3.6 更新的版本。

获取mongo壳软件的最新版本的一种方法是将MongoDB的专用包存储库添加到您的APT源头中。 要做到这一点,请通过运行以下命令开始导入MongoDB最新稳定版本的公共GPG密钥。 如果您打算使用MongoDB的版本,而不是4.4,请确保在该命令的URL部分中更改4.4,以与您想要安装的版本一致:

1curl -fsSL https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -

cURL 是许多用于传输数据的操作系统上可用的命令行工具,它读取存储的任何数据,并将内容打印到系统输出中,在上一个例子中,cURL 打印了 GPG 密钥文件的内容,然后将其导入随后的sudo apt-key add -命令,从而将 GPG 密钥添加到您信任的密钥列表中。

另外,请注意,这个弯曲命令使用了fsSL选项,这些选项基本上会告诉cURL默默失败,这意味着如果cURL因某种原因无法与GPG服务器联系,或者GPG服务器处于停机状态,它不会意外地将结果的错误代码添加到您的信任密钥列表中。

此命令将返回OK,如果已成功添加密钥:

1[secondary_label Output]
2OK

如果您想重复检查密钥是否正确添加,则可以使用以下命令:

1apt-key list

这将返回 MongoDB 密钥在输出中的某个地方:

1[secondary_label Output]
2/etc/apt/trusted.gpg
3--------------------
4pub rsa4096 2019-05-28 [SC] [expires: 2024-05-26]
5      2069 1EEC 3521 6C63 CAF6 6CE1 6564 08E3 90CF B1F5
6uid           [ unknown] MongoDB 4.4 Release Signing Key <[email protected]>
7. . .

在此时,您的 APT 安装仍然不知道在哪里找到您需要安装最新版本的mongo壳的包。

您的服务器上有两个地方,APT 寻找可下载和安装的在线包源:sources.list.d目录和sources.list.d目录。

執行以下命令,在「sources.list.d」目錄中創建一個名為「mongodb-org-4.4.list」的檔案. 該檔案中唯一的內容是單行閱讀 deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.4 multiverse:

1echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list

由于此文件位于 /etc/apt/sources.list.d/ 目录中,因此 APT 可以随时读取它,当它搜索包时。

  • `deb': 这意味着源条目引用了正版Debian架构. 在其他情况下,该行的这一部分可能为"deb-src",这意味着源项代表了Debian发行的源代码.
  • [拱门=amd64,arm64]': 它指定了APT数据应下载到的架构 。 在这种情况下,它规定了amd64'和`arm64'建筑。
  • https://repo.mongodb.org/apt/ubuntu`: 这是一个URI,代表了APT数据可以找到的位置. 在这种情况下,URI指出官方MongoDB寄存器所在的HTTPS地址.
  • bionic/mongodb-org/4.4':Ubuntu寄存器可以包含几种不同的释放物。 这说明你只想要mongodb-org'软件包的4.4'版本,供bionic'发行Ubuntu()。
  • 多元': 这一部分将APT指向四个Ubuntu寄存器类别之一,或称组件. 在这种情况下,它指的就是[多元'成分](https://help.ubuntu.com/community/Repositories#Multiverse). .

运行此命令后,更新您的服务器的本地包索引,以便APT知道在哪里找到安装mongo壳的包:

1sudo apt update

接下来,您可以安装mongodb-org-shell包来安装mongo壳:

1sudo apt install mongodb-org-shell

一旦安装,您可以使用mongo壳连接到您管理的 MongoDB 实例。这样做的一种方法是调用mongo命令,然后用连接 URI 作为论点跟随它。

1mongo "mongodb://username:password@managed_db_hostname_or_URL:port/connection_options"

此示例 MongoDB 连接 URI 由以下元素组成:

  • `mongodb://':这个前缀规定,它后面的元素坚持Mongo。 DB 连接 URI 格式
  • 用户名:您的MongoDB用户名
  • " 密码 " : 你的梦哥 DB 用户密码
  • `管理_db_hostname_或_URL':你的蒙戈所在的东道主 可访问 DB 数据库
  • " 端口 " :您所管理的MongoDB实例正在运行的端口号码。 只有当您的数据库运行在莫戈默认的 27017 以外的端口时, 才需要包含此内容 。
  • `连接-选项':额外的连接选项

此外,一些云提供商(包括 DigitalOcean)要求您使用加密的 TLS 连接连接到管理 MongoDB 数据库。 要做到这一点,您必须按照连接 URI 使用 --tls 选项 - 告诉 MongoDB 客户端使用 TLS 加密连接到管理的数据库 - 以及 `--tlsCAFile' 选项,其次必须有指向有效 CA 证书的文件路径。

有了这些额外的选项,mongo语法将看起来像这样:

1mongo "mongodb://username:password@managed_db_hostname_or_URL:port/connection_options" --tls --tlsCAFile /path/to/CA/file

如果您正在从 DigitalOcean 连接到 Managed MongoDB 数据库,您可以在您的 Cloud 控制面板 中找到所有这些连接信息。在左侧侧栏菜单中单击** Databases** ,然后单击您想要连接的 Mongo 数据库,然后向下滚动以找到** 连接详细信息** 部分。

  • 选择 ** 连接参数 选项,并将相关字段单独复制到前面详细描述的mongo语法中 * ** 选择** 连接字符串** 选项,并复制可与前面描述的连接字符串语法一起使用的已准备的连接URI * ** 选择** Flags** 选项,并复制可用于使用的mongo命令,您可以将其粘贴到您的终端以进行连接

您还必须将您管理的 MongoDB 数据库的 CA 证书添加到您要连接的计算机上。 要做到这一点,请点击 下载 CA 证书 的链接在** 连接详细信息** 部分,该链接将将证书下载到您的本地计算机上。

1[environment local]
2scp ~/local/path/to/CA/certificate sammy@your_server_ip

从您使用的任何计算机连接到管理 MongoDB 数据库,请遵循连接 URI 与 --tls 选项、 --tlsCAFile 选项和 CA 证书的文件路径,如前面示例所示。

接下来,您可以开始与您管理的 MongoDB 实例进行交互。 有关如何与 Mongo 合作的更多信息,我们鼓励您查看我们的 MongoDB 相关内容的完整收藏.

结论

作为云服务的一个相对较新的发展,许多已知的自管理数据库的做法对于由云提供商管理的数据库没有广泛或全面的文档。 这些做法中最基本的之一,访问数据库,可能不会立即清楚那些新手与管理数据库工作的人。 我们为此教程的目标是帮助您开始使用管理数据库来存储数据。

对于有关数据库的工作的更多信息,我们鼓励您查看我们的各种数据库相关内容(https://andsky.com/tags/databases?type=教程),包括专注于 PostgreSQL, MySQL, Redis,和 MongoDB

有关 DigitalOcean 管理数据库的更多信息,请参阅我们的 管理数据库的产品文档

Published At
Categories with 技术
comments powered by Disqus