mongosqld
mongodrdl
mongotranslate
MongoDB工具 >MongoDB BI连接器 >组件 > mongosqld
mongosqld
2.3版的新功能:
您可以使用该
选项mongosqld
以.drdl格式的模式文件开始,也
可以--schema
通过从MongoDB实例中采样数据来创建模式。
您可以使用该--sampleNamespaces
选项指定要从中采样数据的一个或多个名称空间。如果您未指定任何名称空间或架构文件,请mongosqld
从目标MongoDB实例中除admin
和
local
数据库之外的所有数据库中采样数据。
您可以使用该--schemaSource
选项指定用于存储架构信息的数据库。否则,mongosqld
将架构保留在内存中。
mongosqld
模式数据库开始¶使用该--schemaSource
选项可以指定用于存储架构信息的数据库。
如果您的MongoDB实例使用身份验证,则BI Connector实例也必须使用身份验证。通过该mongosqld
程序连接到MongoDB的用户
必须具有读取您要从中采样数据的所有名称空间的权限。
有关BI Connector中MongoDB用户权限的更多详细信息,请参阅 缓存采样的用户权限。
有关MongoDB用户和角色的更多信息,请参阅 基于角色的访问控制。
2.6版的新功能。
所有客户端连接的默认最低TLS版本为1.1。这包括mongosqld
与MongoDB的传入客户端连接和与MongoDB的传出连接。
您可以使用--minimumTLSVersion
选件调整传入连接的设置,并使用选件调整
传出连接的设置
--mongo-minimumTLSVersion
。
--help
¶返回有关mongosqld选项和用法的信息。
--addr
¶默认值:127.0.0.1:3307
指定要监听的主机地址。
--version
¶返回mongosqld发行版号。
--mongo-uri
<uri>
¶默认值:mongodb:// localhost:27017
指定要连接的MongoDB 连接字符串。
该--mongo-uri
选项在连接字符串中支持以下选项:
有关这些URI选项的详细信息,请参阅“ 读取首选项”和“ 副本集选项”。
对于上面列表中未包括的在Mongo URI中设置的选项,请使用等效的mongosqld选项。有关mongosqld选项的完整列表,请参阅命令行选项。
注意
代替在连接字符串中指定username
和password
,而运行mongosqld及其--auth
选项,以指示mongosqld将SQL客户端提供的身份验证凭据传递给MongoDB服务器。
同样,ssl
除了在连接字符串中启用外,还应使用运行mongosqld--mongo-ssl
。
要禁用自动副本集服务器发现逻辑并强制连接到指定服务器,请使用该connect=direct
选项。
URI方案不是在上面的列表中,也不在支持列表mongosqld 选项不被支持。
--mongo-versionCompatibility
<version-number>
¶限制mongosqld使用指定版本的MongoDB支持的功能。仅在与成员使用不同MongoDB版本的副本集一起使用或执行MongoDB的滚动升级时才需要。仅支持MongoDB 3.2版或更高版本。
例如,如果您的副本集包含运行MongoDB 3.2的成员和其他运行MongoDB 3.4的成员,请设置以下选项以限制mongosqld仅使用MongoDB 3.2支持的功能:
--maxVarcharLength
<length>
¶2.2版中的新功能。
指定所有varchar字段的最大长度(以字符为单位)。如果 mongosqld遇到的字符串长于最大长度,则 mongosqld会将其截断为最大长度并记录警告。
--mongo-username
<username>
,
-u
<username>
¶2.3版的新功能。
指定用于架构发现的身份验证用户名。仅在--auth
启用时才需要。指定的用户
--mongo-username
必须是具有listDatabases
特权的有效MongoDB用户
。请参阅mongosqld用户权限。
--mongo-password
<password>
,
-p
<password>
¶2.3版的新功能。
指定用于架构发现的身份验证密码。仅在--auth
启用时才需要。与结合使用
--mongo-username
。
--mongo-authenticationSource
<auth-db-name>
¶默认值:管理员
2.3版的新功能。
指定保存用于架构发现用户的凭据的数据库。仅在--auth
启用时可用。与凭据选项--mongo-username
和
结合使用--mongo-password
。
--mongo-authenticationMechanism
<authMechanism>
¶默认值:SCRAM-SHA-1
2.3版的新功能。
指定用于架构发现的身份验证机制。仅在--auth
启用时可用。与凭据选项--mongo-username
和
结合使用--mongo-password
。
值 | 描述 |
---|---|
SCRAM-SHA-1 | 使用SHA1哈希函数的RFC 5802标准咸化挑战响应身份验证机制。 |
SCRAM-SHA-256 | 2.6版中的新功能: 使用SHA2哈希函数的RFC 7677标准咸化挑战响应身份验证机制。 |
普通(LDAP SASL) | 使用LDAP的外部身份验证。您还可以PLAIN
用于验证数据库内用户。PLAIN 以纯文本形式传输密码。此机制仅在MongoDB Enterprise中可用
。 |
GSSAPI(Kerberos) | 使用Kerberos的外部身份验证。此机制仅在MongoDB Enterprise中可用。 |
--schema
<filename>
¶指定架构文件或架构目录的路径。
--sampleNamespaces
<db.collection>
¶2.5版中的新功能。
--sampleNamespaces
指定一个数据库和集合,以便从创建架构的数据采样过程中将其包括在内。也可以从单个数据库指定多个集合,或从多个数据库指定多个集合。请参阅下面的示例。
如果不使用该--sampleNamespaces
选项
--schema
,mongosqld
则从admin
和local
数据库除外的所有可用MongoDB数据库和集合中采样数据
。
--schemaMode
<[custom|auto]>
¶默认值:custom
2.11版中的新功能。
配置采样模式的
mongosqld
。必须与该--schemaSource
选项一起使用
。以下值确定采样行为:
值 | --schemaMode 行为 |
---|---|
custom |
mongosqld 从该--schemaSource 选项指定的MongoDB数据库中读取存储的架构
。 |
auto |
mongosqld
对模式进行采样,并将模式数据写入该--schemaSource 选项指定的MongoDB数据库
。 |
有关配置采样模式的更多信息,请参见“ 采样模式参考表”。
重要
如果mongosqld
已authentication
启用,则经过身份验证的用户必须对指定的--schemaSource
数据库具有写特权。有关角色的更多信息,
请参见内置readWrite
角色。
--schemaSource
<db-name>
¶2.11版中的新功能。
--schemaMode
设置时必需。指定存储架构信息的数据库。
注意
如果你不指定任何的--schema
,
--schemaMode
和
--schemaSource
选项,mongosqld
保持其在内存架构。
要了解有关采样模式的更多信息,请参阅 采样模式参考表。
--schemaName
<db-name>
¶默认值:defaultSchema
2.11版中的新功能。
可选的。要从--schemaSource
数据库加载或写入数据库的模式的名称。指定模式名称可让您在--schemaSource
数据库中存储多个模式。行为取决于以下值
--schemaMode
:
--schemaMode 值 |
--schemaName 行为 |
---|---|
custom |
从--schemaSource
选项指定的数据库中加载的模式的名称。 |
auto |
--schemaSource BI连接器在启动时对模式进行采样后,要写入数据库的模式名称。 |
如果未指定,则默认为defaultSchema
。
要了解有关采样模式的更多信息,请参阅 采样模式参考表。
--sampleSize
<number>
¶默认值:1000
2.3版的新功能。
收集架构信息时要采样的每个名称空间的文档数。
设置--sampleSize
为0
在构建架构时包括指定名称空间中的所有文档。如果没有指定命名空间,设置--sampleSize
到
0
原因mongosqld
考虑所有数据库中的所有文件(不包括local
,admin
和system
建设模式时)。请参阅下面的示例。
--schemaRefreshIntervalSecs
<number>
¶默认值:0
在版本2.11中更改:重命名--sampleRefreshIntervalSecs
为
--schemaRefreshIntervalSecs
mongosqld
重新采样数据以创建其架构的时间间隔(以秒为单位)。默认值为0
,这意味着在初始采样后,在连接期间不会进行任何重新采样。指定的值必须是一个正整数。
要强制一次更新架构,请从SQL客户端使用 FLUSH SAMPLE命令。
--uuidSubtype3Encoding
<old|csharp|java>
,
-b
<old|csharp|java>
¶指定用于生成UUID二进制子类型3的编码。选择以下值之一:
old
:旧的BSON二进制子类型表示csharp
:C#/。NET旧版UUID表示形式java
:Java旧版UUID表示形式--logAppend
¶将新的日志记录输出添加到由指定的现有日志文件中
--logPath
。
需要--logRotate
。
--logPath
<filename>
¶默认值:stderr
指定用于存储日志记录输出的日志文件的路径。
--logRotate
reopen | rename
¶默认值:重命名
指定您要轮换日志以及如何轮换日志。
设置此选项后,当您向MongoDB Connector for BI 发出命令或重新启动时,日志会轮换。FLUSH
LOGS
mongosqld
--logRotate
为rename
:--logRotate
为reopen
:注意
在UNIX和macOS平台上,您可以发出SIGUSR1信号以重新启动该mongosqld
过程并旋转日志。
--verbose
,
-v
¶指定mongosqld应该提供更详细的日志输出。
下表描述了每个日志级别提供的信息:
信选项 | 日志级别 | 留言内容 |
---|---|---|
--quiet |
没有 | 什么都不记录。 |
无标志 | 默认 | 记录消息,通知用户基本mongosqld
事件和状态更改。 |
-v |
管理员 | 记录向mongosqld
管理员提供信息的消息。 |
-vv |
开发者 | 日志消息对MongoDB支持和开发有用。 |
--quiet
¶隐藏所有日志输出。
--mongo-ssl
¶默认值:False
指示mongosqld在连接到MongoDB实例时使用TLS / SSL。
--mongo-sslPEMKeyFile
<filename>
¶指定.pem
包含TLS / SSL证书和mongosqld
连接到MongoDB时要使用的密钥的文件。您可以.pem
使用相对路径或绝对路径来指定文件的文件名
。
使用--mongo-ssl
选项连接到mongod
或mongos
已
CAFile
启用而未
启用时,此选项是必需的allowConnectionsWithoutCertificates
。
--mongo-sslPEMKeyPassword
<password>
¶指定包含用于连接到MongoDB的证书和私钥的文件的路径。
--mongo-sslAllowInvalidCertificates
¶允许MongoDB实例提供无效的服务器SSL / TLS证书。使用该allowInvalidCertificates
设置时,MongoDB会将无效证书的使用记录为警告。
--mongo-sslCAFile
<filename>
¶指定.pem
包含来自证书颁发机构的根证书链的MongoDB实例的文件。.pem
使用相对或绝对路径指定文件的文件名。
警告
对于--mongo-ssl
与mongod
和的
SSL连接()mongos
,如果mongosqld在不带的情况下运行
--mongo-sslCAFile
,mongosqld将不会尝试验证服务器证书。这会造成过期mongod
和mongos
证书以及伪装成有效mongod
或
mongos
实例的外部进程的漏洞。如果可能发生入侵,请确保始终指定CA文件来验证服务器证书。
--mongo-sslCRLFile
<filename>
¶指定.pem
包含证书吊销列表的MongoDB实例的文件。
--mongo-sslFIPSMode
¶在已安装的OpenSSL库中启用FIPS模式。
--sslMode
<mode>
¶默认值:禁用
2.3版的新功能。
为连接到mongosqld启用或禁用TLS / SSL。该选项的参数可以是以下之一:sslMode
值 | 描述 |
---|---|
disabled |
mongosqld无法接受使用TLS / SSL保护的连接。 |
allowSSL |
mongosqld可以接受使用TLS / SSL保护的连接。 |
requireSSL |
mongosqld仅接受使用TLS / SSL保护的连接。 |
--sslPEMKeyFile
<filename>
¶指定同时.pem
包含TLS / SSL证书和MySQL客户端密钥的文件。.pem
使用相对或绝对路径指定文件的文件名。
--sslPEMKeyPassword
<password>
¶指定用于解密由指定的私钥的密码
--sslPEMKeyFile
。
--sslAllowInvalidCertificates
¶允许MySQL客户端提供无效的客户端TLS / SSL证书。
--sslAllowInvalidHostnames
¶允许SQL客户端连接到其主机名与其TLS / SSL证书上的主机名不同的mongosqld。
--sslCAFile
<filename>
¶指定包含来自证书颁发机构的根证书链的mongosqld .pem
文件。.pem
使用相对或绝对路径指定文件的文件名。
--sslCRLFile
<filename>
¶指定包含证书吊销列表的mongosqld .pem
文件。
--auth
¶需要传入客户端请求的身份验证。
重要
在版本2.4.0中更改。
启用身份验证后,必须在配置文件中使用--mongo-username
和--mongo-password
选项或mongodb.net.auth.username
和
mongodb.net.auth.password
设置
提供管理员凭据。
mongosqld
使用管理员凭据在采样的名称空间上收集元数据,并使用连接客户端的凭据将数据限制为仅授权客户端读取的内容。有关admin用户所需权限的更多信息,请参阅
Cached Sampling的用户权限。
--defaultAuthSource
<authSource>
¶默认值:管理员
指定默认的MongoDB身份验证源。设置此值可指定在
对MongoDB数据库进行身份验证时mongosqld使用的默认源。认证机制
GSSAPI
和PLAIN
使用$external
来源,而
SCRAM-SHA-1
和SCRAM-SHA-256
使用MongoDB数据库作为其源。
如果没有为此选项提供值,则默认为MongoDB admin
数据库。
所述$external
身份验证源存储要在称为MongoDB数据库系统的用户的参考$external
,但凭证存储在一个电子