创建系统 DSN
以下步骤介绍了如何为 BI Connector 的 mongosqld
进程创建系统数据源名称 (DSN)。DSN 是一种保存的配置,它描述了供 ODBC 驱动程序使用的数据库连接。为 BI Connector 创建 DSN 以后,您可以配置各种 SQL 客户端和 BI 工具来使用 DSN,并从 MongoDB 导入数据。
先决条件
在创建 DSN 之前,您应当:
安装 BI Connector 并进行配置以连接到副本集。
注意
如果您使用 BI Connector for Atlas,则此先决条件不适用。
安装 BI Connector 并进行配置以连接到副本集。
注意
如果您使用 BI Connector for Atlas,则此先决条件不适用。
在基于 Red Hat Enterprise 的 Linux 或 基于 Debian 的 Linux 上安装 BI Connector,并进行配置以连接到副本集。
注意
如果您使用 BI Connector for Atlas,则此先决条件不适用。
下载并解压适用于您平台的 MongoDB BI Connector ODBC 驱动程序。
步骤
启动 Microsoft ODBC Data Sources 程序。
选择适合系统和 ODBC 驱动程序版本的 程序版本(64 位或 32 位)。
选择
System DSN
标签页。单击
Add
按钮。点击放大从可用驱动程序列表选择 MongoDB BI Connector ODBC 驱动程序。
选择 MongoDB ODBC ANSI Driver 或 MongoDB ODBC Unicode Driver,然后单击 OK。
注意
ANSI ODBC 驱动程序可以提供最高性能,但字符集有限。Unicode ODBC 驱动程序支持更广泛的字符集,但性能可能略有下降。
填写必需的表单字段。
单击 Details 按钮,显示表单的下半部分。
以下表单字段是必填字段:
字段名称说明Data Source Name所选择的名称。TCP/IP ServerPortmongosqld
进程的端口号。Database要连接的数据库的名称,例如test
。(可选)如果已启用身份验证,请提供连接信息。
在启用
--auth
的情况下运行或连接 BI Connector for Atlas 实例时,需要以下字段。字段名称说明User已通过身份验证可使用目标数据库的 MongoDB 用户的用户名。
您可以在用户名后指定以下身份验证选项,作为 URI 形式的查询参数:
连接选项说明source
指定存储该用户凭证的数据库名称。如果不指定此选项,MongoDB Connector for BI 将默认使用当前与 MySQL 连接关联的数据库。
对于将凭证存储委托给其他服务的身份验证机制,例如
PLAIN
(LDAP) 或GSSAPI
(Kerberos),请将source
值设置为$external
。如果在 MongoDB Connector for BI 配置文件中设置了
defaultSource
,则无需配置该选项。mechanism
指定 MongoDB Connector for BI 应使用的机制来验证连接。可被接受的值包括:
SCRAM-SHA-1(默认)
普通版 (LDAP SASL)
GSSAPI (Kerberos)
LDAP 和 Kerberos 需要 MongoDB Enterprise 。使用 LDAP 或 Kerberos 时,将源设置为
$external
。如果在 MongoDB Connector for BI 配置文件中设置了
defaultMechanism
,则无需配置该选项。不支持 X.509。
示例,要使用
admin
数据库和挑战与响应 (SCRAM-SHA-1
)身份验证机制以用户grace
身份进行身份验证,请按以下格式写入用户名:grace?source=admin 示例,要使用LDAP (
PLAIN
)身份验证机制以用户grace
的身份进行身份验证,请按以下格式写入用户名:grace?mechanism=PLAIN&source=$external 示例,要在 Kerberos 域 上以用户 的身份进行身份验证
grace
EXAMPLE.COM
使用Kerberos身份验证机制时,请按以下格式写入用户名:grace@EXAMPLE.COM?mechanism=GSSAPI&source=$external 有关 Kerberos 配置的更多信息,请参阅为 BI Connector 配置 Kerberos。
Password经过身份验证的用户的密码。
您不能在数据库密码中使用花括号(
{ }
),因为这些是 ODBC 驱动程序中的特殊字符。Authentication默认身份验证方法。使用 MongoDB BI Connector ODBC 驱动程序时,不需要此字段。
要将身份验证插件与其他 ODBC 驱动程序结合使用,请在此字段中填写字符串
mongosql_auth
。(可选)如果已启用 TLS/SSL,请填写 TLS/SSL 表单字段。
单击 Details >>,然后单击 SSL 标签页,访问 TLS/SSL 表单字段。根据 TLS/SSL 配置,以下参数可用且可能是必需的:
字段名称说明SSL Key客户端/服务器密钥文件的位置。SSL Cert客户端/服务器证书文件的位置。SSL CA File包含受信任证书颁发机构列表的文件的位置。SSL Cipher包含允许密码套件列表的文件的位置。SSL Mode设置为REQUIRED
,要求加密通道。如果未提供加密通道,则连接失败。RSA Public Key包含 RSA 公钥的 PEM 文件的位置。注意
BI Connector for Atlas 使用 TLS/SSL,但不需要在系统 DSN 中 配置任何 TLS/SSL 设置。
单击
Test
按钮,测试 ODBC 连接。如果连接成功,请单击 OK 以添加 DSN。如果连接失败,请检查,确保 MongoDB 用户对连接指定的数据库进行了正确的身份验证。
启动 ODBC经理。
注意
ODBC Manager 包含在 MongoDB BI Connector ODBC 驱动程序中。
重要
MongoDB BI Connector ODBC Driver 附带的 ODBC Manager 1.0.16 版本与 macOS Catalina 或更高版本的 macOS 不兼容。如果您使用的是 Catalina 或更高版本的 macOS,请下载并安装最新版本的 ODBC Manager (1.0.19)。
单击 System DSN,然后单击 Add。
从可用驱动程序列表选择 MongoDB BI Connector ODBC 驱动程序。
选择MongoDB ANSI ODBC驾驶员或MongoDB Unicode ODBC驾驶员,然后单击OK 。
注意
ANSI ODBC 驱动程序可以提供最高性能,但字符集有限。Unicode ODBC 驱动程序支持更广泛的字符集,但性能可能略有下降。
输入一个 Data Source Name (DSN)。
(可选)输入 Description。
注意
不要关闭设置窗口。 继续执行下一步。
添加必要的关键字。
单击 Add(添加)按钮添加关键字值对。
通过双击它,输入所需的关键字,然后按回车键来修改 Keyword。
通过双击它,输入所需的关键字,然后按回车键来修改 Value。
使用上述过程,添加以下关键字:
Keyword值服务器MongoDB Connector for BI托管的主机名或IP解决。
重要提示:使用
127.0.0.1
通过 TCP 连接到本地主机。 如果指定IP解决以外的值, BI Connector将尝试使用 Unix 套接字进行连接。端口数据库连接后使用的数据库。
连接 Microsoft Excel 时必须使用此关键字。
有关 ODBC 参数的完整列表,请参阅连接器/ODBC 连接参数。
示例,用户 DSN 配置应如下所示:
注意
不要关闭设置窗口。 继续执行下一步。
(可选)如果已启用身份验证,请添加身份验证关键字。
单击 Add(添加)按钮添加关键字值对。
通过双击它,输入所需的关键字,然后按回车键来修改 Keyword。
通过双击它,输入所需的关键字,然后按回车键来修改 Value。
使用上述过程,添加以下关键字:
Keyword值UID可以访问活动的 MongoDB Connector for BI 数据库的用户的用户名。
您可以在用户名后指定以下身份验证选项,作为 URI 形式的查询参数:
连接选项说明source
指定存储该用户凭证的数据库名称。如果不指定此选项,MongoDB Connector for BI 将默认使用当前与 MySQL 连接关联的数据库。
对于将凭证存储委托给其他服务的身份验证机制,例如
PLAIN
(LDAP) 或GSSAPI
(Kerberos),请将source
值设置为$external
。如果在 MongoDB Connector for BI 配置文件中设置了
defaultSource
,则无需配置该选项。mechanism
指定 MongoDB Connector for BI 应使用的机制来验证连接。可被接受的值包括:
SCRAM-SHA-1(默认)
普通版 (LDAP SASL)
GSSAPI (Kerberos)
LDAP 和 Kerberos 需要 MongoDB Enterprise 。使用 LDAP 或 Kerberos 时,将源设置为
$external
。如果在 MongoDB Connector for BI 配置文件中设置了
defaultMechanism
,则无需配置该选项。不支持 X.509。
示例,要使用
admin
数据库和挑战与响应 (SCRAM-SHA-1
)身份验证机制以用户grace
身份进行身份验证,请按以下格式写入用户名:grace?source=admin 示例,要使用LDAP (
PLAIN
)身份验证机制以用户grace
的身份进行身份验证,请按以下格式写入用户名:grace?mechanism=PLAIN&source=$external 示例,要在 Kerberos 域 上以用户 的身份进行身份验证
grace
EXAMPLE.COM
使用Kerberos身份验证机制时,请按以下格式写入用户名:grace@EXAMPLE.COM?mechanism=GSSAPI&source=$external 有关 Kerberos 配置的更多信息,请参阅为 BI Connector 配置 Kerberos。
PWD与 UID 关联的密码。
您不能在数据库密码中使用花括号(
{ }
),因为这些是 ODBC 驱动程序中的特殊字符。有关 ODBC 参数的完整列表,请参阅连接器/ODBC 连接参数。
示例,用户 DSN 配置应如下所示:
(可选)如果已启用 TLS/SSL,请添加 TLS/SSL 关键字。
单击 Add(添加)按钮添加关键字值对。
通过双击它,输入所需的关键字,然后按回车键来修改 Keyword。
通过双击它,输入所需的关键字,然后按回车键来修改 Value。
注意
BI Connector for Atlas 使用 TLS/SSL,但不需要在系统 DSN 中 配置任何 TLS/SSL 设置。
按照上述步骤,根据您的 TLS/SSL 配置添加以下关键字:
Keyword值SSLKEY
.pem 文件的路径密钥文件。SSLCERT
SSL 证书的路径。SSLMODE
设置为REQUIRED
。SSLCA
SSL 证书颁发机构文件的路径。SSLCIPHER
包含允许的密码列表的文件的路径。RSAKEY
包含 RSA 公钥的 PEM 文件的路径。ENABLE_CLEARTEXT_PLUGIN
设置为1
以启用明文身份验证。注意
如果您正在连接 Microsoft Excel,则证书必须位于
/Library/ODBC/
目录中。有关 ODBC 参数的完整列表,请参阅连接器/ODBC 连接参数。
示例,用户 DSN 配置应如下所示:
单击 OK 以完成 DSN 创建。
以下过程已在 Ubuntu 和 RHEL 上进行了测试,并且应该以类似的方式与其他 Linux 发行版一起工作。
创建 odbc.ini
文件
文件 /etc/odbc.ini
定义数据源名称。以下是示例 odbc.ini
文件,该文件配置为使用 MongoDB BI Connector ODBC 驱动程序和名为 MongoDBODBC
的 DSN 一起使用。将所有必要的占位符值替换为适合系统的值。
名为 libmdbodbca.so
的文件是 ANSI 驱动程序,名为 libmdbodbcw.so
的文件是 Unicode 驱动程序。通过在 odbc.ini
文件中设置 Driver
参数来指定所需的驱动程序。
注意
ANSI ODBC 驱动程序可以提供最高性能,但字符集有限。Unicode ODBC 驱动程序支持更广泛的字符集,但性能可能略有下降。
[MongoDBODBC] DESCRIPTION = ODBC for MongoDB BI Connector DRIVER = /usr/local/lib/libmdbodbcw.so TRACE = Off TRACEFILE = stderr READONLY = yes SERVER = <server address> PORT = <port number> USER = <username> PASSWORD = <password> DATABASE = <dbname> ; optional SSL configuration SSLKEY = </path/to/.pem-key-file> SSLCERT = </path/to/ssl-certificate> SSLMODE = DISABLED|PREFERRED|REQUIRED SSLCA = </path/to/ssl-ca-list-file> SSLCAPATH = </path/to/ssl-ca-file-directory> SSLCIPHER = </path/to/ssl-cipher-file> RSAKEY = </path/to/rsa-public-key-file>
注意
所有 odbc.ini
参数都不区分大小写。
前面的示例仅包含一个 DSN,但可以在一个 odbc.ini
文件中包含多个 DSN。
下表描述了上一个示例中使用的参数。
Parameter | 说明 |
---|---|
DESCRIPTION | 可选。DSN 的文本描述。 |
DRIVER | ODBC 驱动程序文件的路径。 |
TRACE | On 或Off 。 启用 ODBC 跟踪。 |
TRACEFILE | 如果启用了 ODBC 跟踪,则存储跟踪输出的文件路径。 |
READONLY | yes 或 no 。强制执行只读 ODBC 会话。 |
SERVER | 运行 BI Connector 实例 mongosqld 的服务器的地址。 |
PORT | mongosqld 实例的端口号。 |
USER | 有权连接到 mongosqld 实例的 MongoDB 用户的用户名。 |
PASSWORD | 有权连接到 mongosqld 实例的 MongoDB 用户的密码。 |
DATABASE | 要使用的 MongoDB 数据库的名称。 |
SSLKEY | 用于建立安全连接的 SSL 密钥文件的完整路径。 |
SSLCERT | 用于建立安全连接的 SSL 证书文件的名称。 |
SSLMODE | 接受的值为:
|
SSLCA | 包含信任 SSL 证书颁发机构列表的文件的完整路径。 |
SSLCAPATH | 包含 PEM 格式的可信 SSL CA 证书的目录的完整路径。 |
SSLCIPHER | 包含允许密码套件列表的文件的完整路径。 |
RSAKEY | 包含 RSA 公钥的 PEM 文件的完整路径。 |
ENABLE_CLEARTEXT_PLUGIN | 设置为 1 以启用明文身份验证。 |
有关 ODBC 参数的完整列表,请参阅连接器/ODBC 连接参数。
注意
BI Connector for Atlas 使用 TLS/SSL,但不需要在系统 DSN 中 配置任何 TLS/SSL 设置。
您的 DSN 现在可以使用了。如果您希望测试您的 DSN,请继续执行步骤 3。
Install unixODBC
使用首选包管理器安装 unixODBC
。
On Ubuntu:
sudo apt-get install unixodbc
在 RHEL 上:
sudo yum install unixODBC
或者,您可以从 unixODBC 网站下载二进制文件。