Docs Menu
Docs Home
/ /

mongosqld

Nota

El conector MongoDB para BI y las utilidades asociadas son compatibles con todas las versiones de servidor MongoDB admitidas actualmente.

mongosqld acepta solicitudes entrantes de un cliente SQL y envía esas solicitudes a una instancia mongod mongos o.

Nuevo en la versión 2.3:

Puede iniciar con un archivo de esquema mongosqld en Formato .drdl utilizando la opción o muestreando datos de una instancia de MongoDB para crear el --schema esquema.

Puede especificar de qué espacio o espacios de nombres muestrear datos con la --sampleNamespaces opción. Si no especifica ningún espacio de nombres ni un archivo de esquema, muestrea datos de todas las bases de datos de la instancia de MongoDBmongosqld de admin local destino, excepto y.

Puede especificar una base de datos donde almacenar la información del esquema con la opción.--schemaSource mongosqld De lo contrario, guarda el esquema en memoria.

Utilice la opción para especificar un archivo de esquema --schema al mongosqld iniciar.

mongosqld --schema /path/to/schema-file.drdl

Utilice para crear un archivo de esquema a partir de una instancia de mongodrdl MongoDB.

Utilice la opción para especificar una base de datos para almacenar información del --schemaSource esquema.

mongosqld --schemaSource sampleDb

Utilice la opción para especificar bases --sampleNamespaces mongosqld de datos y colecciones de las que desea tomar muestras de datos para crear el esquema.

mongosqld --sampleNamespaces contacts.addresses

Vea ejemplos de uso adicionales a continuación.

Si su instancia de MongoDB usa autenticación, su instancia de BI Connector también debe usarla. El usuario que se conecta a MongoDB mediante el programa debe tener permiso para leer todos los espacios de nombres de los que desea muestrear mongosqld datos.

Para obtener más detalles sobre los permisos de usuario de MongoDB en BI Connector,consulte Permisos de usuario para muestreo en caché.

Para obtener más información sobre los usuarios y roles de MongoDB,consulte Control de acceso basado en roles.

Vea el ejemplo a continuación de con mongosqld autenticación.

Nuevo en la versión 2.6.

La versión mínima predeterminada de TLS es 1.1 para todas las conexiones de cliente. Esto incluye mongosqld las conexiones entrantes a y las salientes a MongoDB.

Puede ajustar esta configuración para las conexiones entrantes con la opción y para --minimumTLSVersion --mongo-minimumTLSVersion las conexiones salientes con la opción.

--help

Devuelve información sobre las opciones y el uso mongosqld de.

--addr

127.0.0.1Predeterminado::3307

Especifica la dirección del host a escuchar.

--version

Devuelve el mongosqld número de versión.

--config <path>

Especifica la ruta a un archivo de configuración.

--mongo-uri <uri>

Predeterminado: mongodb://localhost:27017

Especifica una cadena de conexión MongoDB a la que conectarse.

La opción admite las siguientes opciones dentro de la cadena de --mongo-uri conexión:

Para obtener más información sobre estas opciones de URI, consulte Opciones de preferencia de lectura y Opción de conjunto de réplicas.

Para las opciones configuradas en la URI de Mongo que no se incluyen en la lista anterior, utilice la opción equivalentemongosqld. Para ver la lista completa de opcionesmongosqld, consulte Opciones de línea de comandos.

Nota

En lugar de especificar username y password en su cadena de conexión, ejecute mongosqld con la --auth opción para indicarle a que pase las credenciales de autenticación proporcionadas por el cliente SQL al servidor mongosqld MongoDB.

De manera similar, en lugar de habilitar en la cadena de conexión,ssl ejecute mongosqld --mongo-sslcon.

Para deshabilitar la lógica de descubrimiento automático del servidor de conjunto de réplicas y forzar una conexión al servidor especificado, utilice la opción connect=direct.

mongosqld --mongo-uri "mongodb://<hostname>:<port>/?connect=direct"

Las opciones de URI que no están en la lista anterior ni en la lista de opciones admitidas mongosqld no son compatibles.

--mongo-versionCompatibility <version-number>

Restringe mongosqld a usar funcionalidades que la versión especificada de MongoDB admite. Solo es necesario cuando se utiliza con sets de réplicas en los que los miembros utilizan diferentes versiones de MongoDB o al realizar una actualización progresiva de MongoDB. Solo admite MongoDB versión 3.2 o posterior.

Por ejemplo, si su conjunto de réplicas contiene miembros que 3.2 ejecutan MongoDB y otros miembros que ejecutan MongoDB,3.4 configure la siguiente opción para restringir a fin mongosqld de que solo use funciones compatibles con MongoDB:3.2

mongosqld --mongo-versionCompatibility 3.2
--maxVarcharLength <length>

Nuevo en la versión 2.2.

Especifica la longitud máxima, en caracteres, para todos los campos varchar. Si encuentra una cadena que mongosqld mongosqld supera la longitud máxima, la trunca a la longitud máxima y registra una advertencia.

--mongo-username <username>, -u <username>

Nuevo en la versión 2.3.

Especifica el nombre de usuario de autenticación que se usará para el descubrimiento del esquema. Sólo es obligatorio si --auth está activado. El usuario especificado por --mongo-username debe ser un usuario válido de MongoDB con el privilegio listDatabases. Vea Permisos de usuario mongosqld.

--mongo-password <password>, -p <password>

Nuevo en la versión 2.3.

Especifica la contraseña de autenticación que se usará para la detección de esquemas. Solo se requiere si --auth está habilitado. Úselo junto --mongo-username con.

--mongo-authenticationSource <auth-db-name>

Predeterminado: admin

Nuevo en la versión 2.3.

Especifica la base de datos que contiene las credenciales del usuario de descubrimiento de esquemas. Solo está disponible si está habilitado. Úselo junto con las opciones de --auth credenciales --mongo-username --mongo-passwordy.

--mongo-authenticationMechanism <authMechanism>

Por defecto: SCRAM-SHA-1

Nuevo en la versión 2.3.

Especifica el mecanismo de autenticación que se usará para la detección de esquemas. Solo está disponible si --auth está habilitado. Úselo junto con las opciones de credenciales --mongo-username y.--mongo-password

Valor
Descripción

Novedades en la versión 2.6: Mecanismo de autenticación de respuesta al desafío con sal estándarRFC que utiliza la 7677 2 función hash SHA.

PLAIN (SASL LDAP)

Autenticación externa mediante LDAP. También puede utilizar PLAIN para autenticar a los usuarios de base de datos. PLAIN transmite las contraseñas en texto sin cifrar. Este mecanismo está disponible solo en MongoDB Enterprise.

GSSAPI (Kerberos)

Autenticación externa utilizando Kerberos. Este mecanismo está disponible solo en MongoDB Enterprise.

--schema <filename>

Especifica la ruta a un archivo de esquema o al directorio de esquema.

--schemaDirectory <directoryname>

Obsoleto desde la versión 2.2.

Utilice en su --schema lugar.

--sampleNamespaces <db.collection>

Nuevo en la versión 2.5.

--sampleNamespaces Especifica una base de datos y una colección para su inclusión o exclusión en el proceso de muestreo de datos que crea el esquema. También es posible especificar varias colecciones de una sola base de datos o de varias bases de datos. Vea los ejemplos a continuación.

Si no utiliza la --sampleNamespaces opción o la --schema opción, mongosqld muestrea datos de todas las bases de datos y colecciones de MongoDB disponibles, excepto las bases de datos admin local y.

--schemaMode <[custom|auto]>

Por defecto: custom

Nuevo en la versión 2.11.

Configura el modo de mongosqld muestreo de. Debe usarse con la --schemaSource opción. Los siguientes valores determinan el comportamiento del muestreo:

Valor
--schemaMode Comportamiento

custom

mongosqld lee un esquema almacenado de la base de datos MongoDB especificada por la --schemaSource opción.

auto

mongosqld muestrea el esquema y escribe los datos del esquema en la base de datos MongoDB especificada por la --schemaSource opción.

Para obtener más información sobre cómo configurar el modo de muestreo, consulte la Tabla de referencia del modo de muestreo.

Importante

Si mongosqld tiene habilitadoauthentication, el usuario autenticado debe tener privilegios de escritura en la base de datos--schemaSourceespecificada. Consulte Roles integrados para obtener más información sobre el rol readWrite.

--schemaSource <db-name>

Nuevo en la versión 2.11.

Obligatorio siempre que se configure. Especifica la base de datos donde se almacena la información del --schemaMode esquema.

Nota

Si no especifica ninguna de las --schema --schemaMode --schemaSource opciones, y, mantiene su esquema en lamongosqld memoria.

Para obtener más información sobre los modos de muestreo, consulte la Tabla de referencia de modos de muestreo.

--schemaName <db-name>

Por defecto: defaultSchema

Nuevo en la versión 2.11.

Opcional. El nombre del esquema que se cargará o escribirá --schemaSource en la base de datos. Especificar nombres de esquema permite almacenar varios esquemas en la --schemaSource base de datos. El comportamiento depende del valor --schemaMode de:

--schemaName Comportamiento

custom

El nombre del esquema que se cargará desde la base de datos especificada por la --schemaSource opción.

auto

El nombre del esquema que se escribirá en la --schemaSource base de datos después de que el Conector de BI muestree el esquema al iniciarse.

Importante

Si carga un esquema personalizado, debe almacenarlo con su nombre especificado name-schema () y luego especificar este nombre en mongosqld --schemaNamecon. Si no almacena el nombre del esquema al cargarlo, el nombre predeterminado defaultSchema será. Si el nombre del esquema no existe, se generará un error de similar al siguiente: Esquema de MongoDB aún no disponible. Error al inicializar mongosqld el esquema: no se encontró ningún esquema para el nombre.

Para obtener más información sobre los modos de muestreo, consulte la Tabla de referencia de modos de muestreo.

--sampleSize <number>

Por defecto: 1000

Nuevo en la versión 2.3.

La cantidad de documentos por espacio de nombres a muestrear al recopilar información del esquema.

Establezca --sampleSize en 0 para incluir todos los documentos del espacio de nombres especificado al crear el esquema. Si no especifica un espacio de nombres, establecer en --sampleSize hace 0 mongosqld que considere todos los documentos de todas las bases de datos (excepto,local admin systemy) al crear el esquema. Vea un ejemplo a continuación.

--schemaRefreshIntervalSecs <number>

Por defecto: 0

Cambiado en la 2.11 versión: Se renombró --sampleRefreshIntervalSecs a --schemaRefreshIntervalSecs

El intervalo en segundos en el que remuestrea los datos para crear su esquema. El valor mongosqld predeterminado 0 es, lo que significa que después del muestreo inicial no se realiza ningún remuestreo automático. El valor especificado debe ser un entero positivo.

Para forzar una actualización única del esquema, utilice el comando FLUSH SAMPLE desde su cliente SQL.

--uuidSubtype3Encoding <old|csharp|java>, -b <old|csharp|java>

Especifique la codificación utilizada para generar el subtipo binario UUID 3. Elija uno de los siguientes valores:

  • old: Antigua representación del subtipo binario BSON

  • csharp: La representación UUID heredada de C#/.NET

  • java:La representación UUID heredada de Java

--prejoin

Nuevo en la versión 2.6.

Opción de esquema para combinar datos de matriz y no matriz en una sola tabla.

Los documentos de MongoDB que contienen arrays normalmente se traducen a formato tabular con tablas separadas para datos de array y datos que no son arrays. Considere una colección de MongoDB llamada test con el siguiente documento:

{ "_id" : 1, "a" : 3, "b" : [ "orange", "apple", "pear" ] }

La colección anterior se traduce en las siguientes dos tablas en formato tabular:

mysql> select * from test;
+------+------+
| _id | a |
+------+------+
| 1 | 3 |
+------+------+
mysql> select * from test_b;
+------+--------+-------+
| _id | b | b_idx |
+------+--------+-------+
| 1 | orange | 0 |
| 1 | apple | 1 |
| 1 | pear | 2 |
+------+--------+-------+

La bandera hace que los datos de --prejoin la a columna se incluyan en la test_b tabla:

mysql> select * from test_b;
+------+------+--------+-------+
| _id | a | b | b_idx |
+------+------+--------+-------+
| 1 | 3 | orange | 0 |
| 1 | 3 | apple | 1 |
| 1 | 3 | pear | 2 |
+------+------+--------+-------+
--logAppend

Agrega una nueva salida de registro a un archivo de registro existente especificado --logPath por.

Requiere --logRotate.

--logPath <filename>

Default: stderr

Especifica una ruta a un archivo de registro para almacenar la salida del registro.

--logRotate reopen | rename

Por defecto: renombrar

Especifica que deseas rotar registros y cómo deben rotarse.

Cuando esta opción está activada, los registros se rotan cuando se ejecuta el comando FLUSH LOGS en el MongoDB Connector for BI o al reiniciar mongosqld.

Si --logRotate renameestablece en:
Se cierra el archivo de registro existente. Se añade una marca de tiempo con formato RFC al archivo de registro cerrado. Se crea un nuevo archivo de registro.3339
Si --logRotate reopenestablece en:
El archivo de registro existente se cierra y se vuelve a abrir.

Nota

En las plataformas UNIX y macOS, puede emitir una señal SIGUSR1 para reiniciar el proceso mongosqld y rotar los registros.

--usageLogInterval <number>

Por defecto: 60

Novedad en la versión 2.14.

El intervalo, en segundos, en el que se escriben las estadísticas de uso en el registro. Establézcalo en 0 para deshabilitar el registro de uso.

Nota

El registro de uso no está habilitado para Windows.

--verbose, -v

Especifica que debe proporcionar una salida de registro más mongosqld detallada.

La siguiente tabla describe la información proporcionada en cada nivel de registro:

Opción de letra
Nivel de registro
Contenido del mensaje

--quiet

Ninguno

No registrar nada

No flag

predeterminado

Mensajes de registro que notifican al usuario mongosqld eventos básicos y cambios de estado.

-v

Administrador

Mensajes de registro que proporcionan información a mongosqld administradores.

-vv

Desarrollador

Mensajes de registro útiles para el soporte y desarrollo de MongoDB.

--quiet

Oculta toda la salida del registro.

Importante

Si utiliza su propia autoridad de certificación (CA) para autofirmar sus certificados de servidor y cliente, debe incluir la opción para garantizar que la autenticación funcione --mongo-sslAllowInvalidHostnames correctamente.

--mongo-ssl

Por defecto: False

Instruye a mongosqld a usar TLS/SSL al conectarse a una instancia de MongoDB.

--mongo-sslPEMKeyFile <filename>

Especifica el .pem archivo que contiene el certificado TLS/SSL y la clave que mongosqld usará al conectarse a MongoDB. Puede especificar el nombre del .pem archivo mediante una ruta relativa o absoluta.

Esta opción es necesaria cuando se utiliza la opción--mongo-sslpara conectarse a unmongodomongosque tieneCAFilehabilitado sinnet.ssl.allowConnectionsWithoutCertificates.

--mongo-sslPEMKeyPassword <password>

Especifica la ruta a un archivo que contiene el certificado y la clave privada para conectarse a MongoDB.

--mongo-sslAllowInvalidHostnames

Permite a conectarse a un servidor MongoDB cuyo nombre de host difiere del nombre de host en su certificado mongosqld TLS/SSL.

--mongo-sslAllowInvalidCertificates

Permite que la instancia de MongoDB presente un certificado SSL/TLS de servidor no válido. Al usar la configuración, MongoDB registra el uso del certificado no válido como allowInvalidCertificates advertencia.

--mongo-sslCAFile <filename>

Especifica el archivo .pem de la instancia de MongoDB que contiene la cadena de certificados raíz de la autoridad de certificación. Especifique el nombre del archivo .pem mediante rutas relativas o absolutas.

Advertencia

Para las conexiones SSL (--mongo-ssl) amongodymongos, simongosqldse ejecuta sin--mongo-sslCAFile, mongosqldno intentará validar los certificados del servidor. Esto crea una vulnerabilidad para los certificadosmongodymongoscaducados, así como para los procesos externos que se hacen pasar por instanciasmongodomongosválidas. Asegúrese de especificar siempre el archivo de CA para validar los certificados del servidor en casos donde exista la posibilidad de intrusión.

--mongo-sslCRLFile <filename>

Especifica el archivo .pem de la instancia de MongoDB que contiene la lista de revocación de certificados.

--mongo-sslFIPSMode

Habilita el modo FIPS en la biblioteca OpenSSL instalada.

--mongo-minimumTLSVersion <TLS1_0|TLS1_1|TLS1_2>

Predeterminado: TLS1_1

Especifica la versión mínima de TLS requerida para las conexiones salientes a una instancia o. El valor mongod mongospredeterminado TLS1_1 corresponde a la versión de TLS..11

--sslMode <mode>

Por defecto: desactivado

Nuevo en la versión 2.3.

Habilitar o deshabilitar TLS/SSL para conexiones a mongosqld. El argumento de la sslMode opción puede ser uno de los siguientes:

Valor
Descripción

disabled

mongosqld no puede aceptar conexiones aseguradas mediante TLS/SSL.

allowSSL

mongosqld puede aceptar conexiones protegidas mediante TLS/SSL.

requireSSL

mongosqld solo puede aceptar conexiones protegidas mediante TLS/SSL.

--sslPEMKeyFile <filename>

Especifica el archivo .pem que contiene el certificado TLS/SSL y la clave para los clientes MySQL. Especifique el nombre del archivo .pem usando rutas relativas o absolutas.

--sslPEMKeyPassword <password>

Especifica la contraseña utilizada para descifrar la clave privada especificada --sslPEMKeyFile por.

--sslAllowInvalidCertificates

Permite que los clientes MySQL presenten certificados TLS/SSL de cliente no válidos.

--sslAllowInvalidHostnames

Permite que los clientes SQL se conecten a un cuyo nombre de host difiere del nombre de host en su certificado mongosqld TLS/SSL.

--sslCAFile <filename>

Especifica el mongosqld .pem archivo que contiene la cadena de certificados raíz de la autoridad de certificación. Especifique el nombre del .pem archivo mediante rutas relativas o absolutas.

--sslCRLFile <filename>

Especifica el mongosqld .pem archivo que contiene la lista de revocación de certificados.

--auth

Requiere autenticación para solicitudes entrantes de clientes.

Importante

Cambiado en la versión 2.4.0.

Cuando la autenticación está habilitada, las credenciales de administrador deben proporcionarse con las --mongo-username opciones --mongo-password y o mongodb.net.auth.username las configuraciones mongodb.net.auth.passwordy en el archivo de configuración.

mongosqld utiliza las credenciales de administrador para recopilar metadatos en los namespaces muestreados y utiliza las credenciales del cliente que se conecta para restringir los datos solo a lo que el cliente está autorizado a leer. Para más información sobre los permisos requeridos para el usuario administrador, consulta Permisos de usuario para muestreo almacenado en caché.

--defaultAuthSource <authSource>

Predeterminado: admin

Especifica la fuente de autenticación predeterminada de MongoDB. Configure este valor para especificar una fuente predeterminada que utiliza al autenticarse con una base de datos MongoDB. Los mecanismos de mongosqld autenticación GSSAPI y PLAIN utilizan la $external fuente, mientras SCRAM-SHA-1 que y SCRAM-SHA-256 utilizan una base de datos MongoDB como fuente.

Si no se proporciona ningún valor para esta opción, el valor predeterminado es la base de datos MongoDB admin.

La fuente de autenticación $external almacena una referencia a los usuarios del sistema en una base de datos MongoDB llamada $external, pero las credenciales se almacenan en un sistema externo que no es MongoDB, como un servidor LDAP.

Cualquier conexión que utilice el valor predeterminado puede omitir el source parámetro de su nombre de usuario de MySQL o Tableau.

--defaultAuthMechanism <authMechanism>

Por defecto: SCRAM-SHA-1

Especifica el mecanismo de autenticación predeterminado. Configure este valor para especificar un mecanismo predeterminado para conectarse a. Cualquier conexión que utilice este valor predeterminado puede omitir mongosqld el mechanism valor de su nombre de usuario de MySQL o Tableau.

Valor
Descripción

Mecanismo de autenticación de respuesta al desafío con sal estándarRFC que utiliza la 5802 1 función hash SHA.

Novedades en la versión 2.6: Mecanismo de autenticación de respuesta al desafío con sal estándarRFC que utiliza la 7677 2 función hash SHA.

PLAIN (SASL LDAP)

Autenticación externa mediante LDAP. También puede utilizar PLAIN para autenticar a los usuarios de base de datos. PLAIN transmite las contraseñas en texto sin cifrar. Este mecanismo está disponible solo en MongoDB Enterprise.

GSSAPI (Kerberos)

Autenticación externa utilizando Kerberos. Este mecanismo está disponible solo en MongoDB Enterprise.

--minimumTLSVersion <TLS1_0|TLS1_1|TLS1_2>

Predeterminado: TLS1_1

Especifica la versión mínima de TLS requerida para que los clientes se conecten a. El valor mongosqld predeterminado TLS1_1 corresponde a la versión de 1.1 TLS.

--serviceName <service-name>

Nombre del servicio del sistema que mongosqld ejecuta.

--serviceDisplayName <service-name>

Nombre visible del servicio del sistema que ejecuta mongosqld.

--serviceDescription <service-name>

Descripción del servicio del sistema que mongosqld ejecuta.

--gssapiHostname <hostname>

Predeterminado: primera dirección IP net.bindIp para.

Nuevo en la versión 2.5.

Un FQDN para configurar la autenticación Kerberos. El nombre de host Kerberos prevalece sobre el nombre de host únicamente para la configuración de Kerberos.

--gssapiServiceName <service-name>

Predeterminado: mongosql

Nuevo en la versión 2.5.

Nombre registrado del servicio usando Kerberos. Esta opción te permite sobrescribir el componente de nombre de servicio Kerberos por defecto de Kerberos SPN para cada instancia. Si no se especifica, se utiliza el valor por defecto.

--mongo-gssapiServiceName <service-name>

Predeterminado: mongodb

Nuevo en la versión 2.5.

Configure el SPN de Kerberos al conectarse a instancias de MongoDB kerberizadas. Este valor debe coincidir con el nombre del servicio configurado en las instancias de MongoDB.

--gssapiConstrainedDelegation

Por defecto: False

Nuevo en la versión 2.11.

Utilice credenciales de proxy para la autorización Kerberos, lo que permite la delegación restringida. Requiere que mongosqld las credenciales de servicio estén presentes tanto en la tabla de claves del cliente como en la del servicio. Consulte Configurar Kerberos para el Conector de BI para obtener más información sobre la configuración de Kerberos.

--filePermissions <mode>

Por defecto: 0700

Especifique los permisos para el archivo de socket de dominio Unix.

--noUnixSocket

Deshabilitar la escucha en sockets de dominio Unix.

--unixSocketPrefix <path>

Por defecto: /tmp

Especifica un directorio alternativo para el socket de dominio mongosqld Unix.

mongosqld creará un archivo de socket llamado mysql.sock debajo de esta ruta. Si no especifica, el socket se --unixSocketPrefix ubicará /tmp/mysql.sock en.

--setParameter <parameter>
Parameter
Tipo
Corresponde a

"polymorphic_type_conversion_mode=<value>"

string

Determina cómo evalúa los campos de documento especificados con varios tipos de datos. Los valores mongosqld aceptados off son, fast safey. Para obtener más información sobre estos valores, consulte Variables del sistema.

"type_conversion_mode=<value>"

string

Especifica el modo que mongosqld se utiliza para convertir los tipos de datos. BI Connector utiliza su propio modomongosql () de forma predeterminada. Los valores aceptados son mongosql mysqly. Para obtener más información sobre estos valores, consulte Variables del sistema.

El siguiente ejemplo inicia y utiliza mongosqld la --setParameter opción para especificar el modo de conversión de tipo:

mongosqld --setParameter "type_conversion_mode=mongosql"

Puede configurar mongosqld mediante un archivo de configuración YAML. Este archivo puede contener las configuraciones que se indican en las siguientes secciones.

Nota

Puede usar directivas de expansión en su archivo de configuración para cargar valores de configuración externos. Estas directivas ocultan información confidencial, como certificados de seguridad y contraseñas.

Para obtener más información sobre el uso de directivas de expansión, consulte Valores de archivos de configuración de origen externo en el manual de MongoDB.

systemLog:
logAppend: <boolean>
logRotate: "rename"|"reopen"
path: <string>
quiet: <boolean>
verbosity: <integer>
Nombre
Tipo
Corresponde a
systemLog.logAppend

booleano

systemLog.logRotate

string

systemLog.path

string

systemLog.quiet

booleano

systemLog.verbosity

entero

schema:
path: <string>
maxVarcharLength: <integer>
Nombre
Tipo
Corresponde a
schema.path

string

schema.maxVarcharLength

entero

schema:
sample:
size: <integer>
prejoin: <boolean>
namespaces: <array of strings>
uuidSubtype3Encoding: <[old|csharp|java]>
stored:
mode: <[custom|auto]>
source: <string>
name: <db-name>
refreshIntervalSecs: <integer>
Nombre
Tipo
Corresponde a
schema.stored.mode

string

schema.stored.source

string

schema.stored.name

string

schema.sample.size

entero

schema.sample.prejoin

booleano

schema.sample.namespaces

cadena o matriz de cadenas

schema.refreshIntervalSecs

entero

schema.sample.uuidSubtype3Encoding

string

runtime:
memory:
maxPerStage: <integer>
maxPerServer: <integer>
maxPerConnection: <integer>

Importante

BI Connector ofrece las siguientes opciones para controlar la cantidad de memoria del sistema que el mongosqld proceso puede usar para enviar consultas a MongoDB. Estos límites no incluyen la memoria que BI Connector utiliza para otros fines, como la sobrecarga de la estructura de datos, por lo que la cantidad total de memoria que BI Connector utiliza será superior a los límites establecidos con estas opciones.

runtime.memory.maxPerStage

Tipo: entero

Default: unlimited

Especifica la cantidad máxima de memoria en bytes que puede utilizar una etapa de ejecución de consulta.

runtime.memory.maxPerServer

Tipo: entero

Default: unlimited

Nuevo en la versión 2.5.

Especifica la cantidad máxima de memoria en bytes que puede usar un proceso mongosqld.

runtime.memory.maxPerConnection

Tipo: entero

Default: unlimited

Nuevo en la versión 2.5.

Especifica la cantidad máxima de memoria en bytes que una conexión de cliente puede mongosqld usar.

net:
bindIp: <string>
port: <integer>
unixDomainSocket:
enabled: <boolean>
pathPrefix: <string>
filePermissions: <string>
ssl:
mode: <string>
allowInvalidCertificates: <boolean>
PEMKeyFile: <string>
PEMKeyPassword: <string>
CAFile: <string>
Nombre
Tipo
Corresponde a
net.bindIp

string

El componente de nombre de host de --addr

Cambiado en la 2.2 versión: Para vincularse a múltiples direcciones IP, ingrese una lista de valores separados por comas.

Por ejemplo:

"72.198.41.200,72.198.41.201,72.198.41.202"
net.port

entero

El componente portuario de --addr

net.unixDomainSocket.enabled

booleano

Inversa de --noUnixSocket

net.unixDomainSocket.pathPrefix

string

net.unixDomainSocket.filePermissions

string

net.ssl.allowInvalidCertificates

booleano

net.ssl.mode

string

net.ssl.PEMKeyFile

string

net.ssl.PEMKeyPassword

string

net.ssl.CAFile

string

net.ssl.minimumTLSVersion

string

security:
enabled: <boolean>
defaultMechanism: <string>
defaultSource: <string>
gssapi:
hostname: <string>
serviceName: <string>
Nombre
Tipo
Corresponde a
security.enabled

booleano

security.defaultMechanism

string

security.defaultSource

string

security.gssapi.hostname

string

security.gssapi.serviceName

string

security.gssapi.constrainedDelegation

string

mongodb:
versionCompatibility: <string>
net:
uri: <string>
ssl:
enabled: <boolean>
allowInvalidCertificates: <boolean>
allowInvalidHostnames: <boolean>
PEMKeyFile: <string>
PEMKeyPassword: <string>
CAFile: <string>
CRLFile: <string>
FIPSMode: <boolean>
auth:
username: <username>
password: <password>
source: <auth-db-name>
mechanism: <auth-mechanism>
gssapiServiceName: <service>
Nombre
Tipo
Corresponde a
mongodb.versionCompatibility

string

mongodb.net.uri

string

mongodb.net.ssl.enabled

booleano

mongodb.net.ssl.allowInvalidCertificates

booleano

mongodb.net.ssl.allowInvalidHostnames

booleano

mongodb.net.ssl.PEMKeyFile

string

mongodb.net.ssl.PEMKeyPassword

string

mongodb.net.ssl.CAFile

string

mongodb.net.ssl.CRLFile

string

mongodb.net.ssl.FIPSMode

booleano

mongodb.net.ssl.minimumTLSVersion

string

mongodb.net.auth.username

string

mongodb.net.auth.password

string

mongodb.net.auth.source

string

mongodb.net.auth.mechanism

string

mongodb.net.auth.gssapiServiceName

string

processManagement:
service:
name: <string>
displayName: <string>
description: <string>
Nombre
Tipo
Corresponde a
processManagement.service.name

string

processManagement.service.displayName

string

processManagement.service.description

string

setParameter:
polymorphic_type_conversion_mode: <string>
type_conversion_mode: <string>
Nombre
Tipo
Corresponde a
setParameter.polymorphic_type_conversion_mode

string

Determina cómo evalúa los campos de documento especificados con varios tipos de datos. Los valores mongosqld aceptados off son, fast safey. Para obtener más información sobre estos valores, consulte Variables del sistema.

setParameter.type_conversion_mode

string

Especifica el modo que mongosqld se utiliza para convertir los tipos de datos. BI Connector utiliza su propio modomongosql () de forma predeterminada. Los valores aceptados son mongosql mysqly. Para obtener más información sobre estos valores, consulte Variables del sistema.

Estas opciones del archivo de configuración también están disponibles como variables del sistema. Para más información, consulte Variables del sistema.

Puede usar directivas de expansión en su archivo de configuración para cargar valores de configuración externos. Estas directivas ocultan información confidencial, como certificados de seguridad y contraseñas.

Para obtener más información sobre el uso de directivas de expansión, consulte Valores de archivos de configuración de origen externo en el manual de MongoDB.

Nota

Las rutas utilizadas en este archivo de configuración de ejemplo son específicas de Linux. Consulte la documentación de su sistema local para determinar las rutas correctas.

systemLog:
logAppend: false
path: "/var/log/mongosqld/mongosqld.log"
verbosity: 2
security:
enabled: true
mongodb:
net:
uri: "mongo.example.com:27017"
auth:
username: "root"
password: "changeme"
net:
bindIp: 192.0.2.14
port: 3307
ssl:
mode: "allowSSL"
PEMKeyFile: "/vagrant/certificates/mongosqld-server.pem"
CAFile: "/vagrant/certificates/ca.crt"
schema:
sample:
namespaces: "inventory.*"
processManagement:
service:
name: mongosqld
displayName: mongosqld
description: "BI Connector SQL proxy server"

Utilice la opción para --schema especificar un archivo de esquema para que mongosqld lo utilice.

mongosqld --schema /path/to/schema-file.drdl

Utilice la opción--sampleNamespacespara especificar una base de datos y una colección de las quemongosqldmuestreará datos. Si iniciamongosqldsin la opción--sampleNamespaces, muestreará datos de todas las bases de datos disponibles, excepto admin y local.

El siguiente ejemplo toma datos de una colección llamada addresses en una base de datos llamada contacts:

mongosqld --sampleNamespaces contacts.addresses

Para muestrear datos de todas las colecciones de una base de datos, utilice la opción con --sampleNamespaces un* comodín ().

El siguiente ejemplo toma muestras de datos de todas las colecciones de una base de datos denominada inventory:

mongosqld --sampleNamespaces 'inventory.*'

Puede repetir en la --sampleNamespaces línea de comando para muestrear datos de múltiples colecciones dentro de una base de datos, o de múltiples colecciones en varias bases de datos.

El siguiente ejemplo toma muestras de datos de todas las colecciones en las bases de datos denominadas cars y boats:

mongosqld --sampleNamespaces 'cars.*' \
--sampleNamespaces 'boats.*' \

Puede mezclar y combinar comodines y colecciones específicas con múltiples --sampleNamespaces opciones.

El siguiente ejemplo toma muestras de datos de todas las colecciones de una base de datos denominada orders, así como de las colecciones FY2015 y FY2016 de la base de datos expenses:

mongosqld --sampleNamespaces 'orders.*' \
--sampleNamespaces expenses.FY2015 \
--sampleNamespaces expenses.FY2016 \

Nota

Solo es necesario encerrar el espacio de nombres entre comillas simples cuando se utiliza un comodín.

Para excluir espacios de nombres específicos del proceso de muestreo de datos, antepóngalos con una tilde ~. El siguiente ejemplo incluye todas las bases de datos y colecciones, excepto la colección apples de la base de datos fruit:

mongosqld --sampleNamespaces ~fruit.apples

Utilice el carácter comodín * para indicar todas las colecciones de una base de datos. El siguiente ejemplo excluye toda la base de datos vehicles del muestreo de datos:

mongosqld --sampleNamespaces '~vehicles.*'

Si tiene una colección en la que algunos documentos tienen campos diferentes a los de otros y desea asegurarse de que el esquema los tenga en cuenta todos, configure la --sampleSize opción 0 en. Esto hace que examine todos los mongosqld namespace documentos en el especificado al crear su esquema.

El siguiente ejemplo indica mongosqld a que construya el esquema basándose en todos los documentos en el inventory.electronics espacio de nombres.

mongosqld --sampleNamespaces inventory.electronics \
--sampleSize 0

Utilice la opción para especificar una --schemaSource base de datos donde almacenar la información del esquema. Utilice la opción --schemaMode mongosqld para especificar si puede escribir en la base de datos del esquema o solo leer.

El siguiente comando de ejemplo utiliza una base de datos llamada sampleDb para almacenar información del esquema y --schemaMode establece auto en.

mongosqld --schemaSource sampleDb --schemaMode auto

Importante

Si mongosqld tiene habilitadoauthentication, el usuario autenticado debe tener privilegios de escritura en la base de datos--schemaSourceespecificada. Consulte Roles integrados para obtener más información sobre el rol readWrite.

Utilice la opción--schemaRefreshIntervalSecspara especificar un intervalo en segundos para quemongosqldremuestree los datos y regenere el esquema. El valor predeterminado de esta opción es 0, lo que significa quemongosqldnunca remuestrea los datos.

Si establece un intervalo de remuestreo con y especifica una base --schemaRefreshIntervalSecs --schemaSource de datos --schemaMode de esquema custom con, no podrá establecer en.

El siguiente ejemplo no especifica una base de datos de esquema ni un archivo de esquema, por lo que mantiene su esquema en la memoria. Utiliza --schemaRefreshIntervalSecs para especificar un intervalo de remuestreo de datos de 3600 segundos.

mongosqld --schemaRefreshIntervalSecs 3600

Para conectar a una instancia de mongosqld MongoDB que se ejecuta con la autenticación habilitada, utilice la opción y proporcione las credenciales de usuario de --auth MongoDB.

El siguiente ejemplo comienza con las credenciales de un usuario mongosqld llamado reportsUser con reportsPass contraseña, que tiene acceso al espacio de reports.inventory nombres.

mongosqld --auth \
--mongo-username reportsUser \
--mongo-password reportsPass \
--sampleNamespaces reports.inventory

Este ejemplo no especifica una base de datos de autenticación con la opción, por lo que el --mongo-authenticationSource valor admin predeterminado es. Tampoco especifica un mecanismo de autenticación con la --mongo-authenticationMechanism opción, por lo que el valor predeterminado SCRAM-SHA-1 es.

Si desea especificar un archivo de configuración que guarde registros en /var/log/mongosqld.log y cargue un esquema desde /var/schema.drdl, puede guardar un archivo como el siguiente en /etc/mongosqld.conf:

Advertencia

Todas las rutas especificadas en el archivo de configuración deben ser absolutas, es decir, deben comenzar con /.

systemLog:
path: /var/log/mongosqld.log
schema:
path: /var/schema.drdl

Luego puedes iniciar mongosqld con la --config opción:

mongosqld --config /etc/mongosqld.conf

Para obtener más información sobre cómo iniciar mongosqld como un servicio del sistema, consulte la Guía de instalación de su sistema operativo.

Atlas es un servicio en la nube para ejecutar, monitorear y mantener implementaciones de MongoDB, incluido el aprovisionamiento de servidores dedicados para las instancias de MongoDB.

Atlas utiliza TLS/SSL para cifrar las conexiones y aplica la autenticación de forma predeterminada.

Nota

Con el nivel gratuito de MongoDB Atlas, el Conector de BI no puede ejecutar pipelines de agregación con la allowDiskUse opción. Esta opción permite que las etapas de agregación escriban datos como archivos temporales en el disco. Para revisar las restricciones del nivel gratuito de MongoDB Atlas, consulte el manual de MongoDB Atlas.

mongosqld Puede usar cualquier certificado TLS válido emitido por una autoridad de certificación o un certificado autofirmado. Si usa un certificado autofirmado, aunque el canal de comunicación esté cifrado, no se validará la identidad del servidor. Si bien esto evitará la interceptación de la conexión, lo expone a un ataque de intermediario (man-in-the-middle). Usar un certificado firmado por una autoridad de certificación confiable permitirá a su cliente MySQL verificar la identidad del servidor.

Para fines de prueba, puede crear un .pem archivo de clave llamado test.pem utilizando la openssl herramienta:

openssl req -nodes -newkey rsa:2048 -keyout test.key -out test.crt -x509 -days 365 -subj "/C=US/ST=test/L=test/O=test Security/OU=IT Department/CN=test.com"
cat test.crt test.key > test.pem

Comience con las siguientes mongosqld opciones:

Si nombró su archivo de clave test.pem como en el ejemplo anterior, puede ejecutar lo siguiente, sustituyendo su URI de clúster y sus credenciales de inicio de sesión:

mongosqld --mongo-ssl \
--auth \
--sslPEMKeyFile test.pem \
--mongo-uri <uri> \
--sslMode allowSSL \
--mongo-username <username> \
--mongo-password <password>

Transfiera su nombre de usuario, contraseña y base de datos de autenticación a su cliente SQL. Por ejemplo, si usa mysql sin verificar su mongosqld certificado de servidor:

mysql --host <mongosqld-host> --port <mongosqld-port> -u <username>?source=admin -p --ssl-mode required --enable-cleartext-plugin

Consulte Conectarse desde el cliente MySQL para obtener más detalles sobre el uso del mysql cliente con el conector de BI.

La siguiente tabla describe los tipos de mongosqld configuraciones de inicio y las opciones utilizadas con cada una.

Modo
mongosqld opciones
Comportamiento

Esquema independiente

mongosqld muestrea datos al iniciar. Si --schemaRefreshIntervalSecs >, 0 remuestrea en el intervalo especificado.

Por ejemplo:

mongosqld --schemaRefreshIntervalSecs 3600

Para obtener más información,consulte Modo de esquema independiente (muestreo en caché).

Esquema personalizado

Leer datos del esquema de la base de datos especificada --schemaSource por.

Por ejemplo:

mongosqld --schemaMode custom \
--schemaSource schemaDb

Auto Schema

Muestrear y conservar datos de esquema en una base de datos de esquema especificada por el usuario.

Por ejemplo:

mongosqld --schemaMode auto \
--schemaSource schemaDb \
--schemaRefreshIntervalSecs 3600

Para obtener más información, consulte Modo de esquema automático (Conservar un esquema en MongoDB).

Las siguientes configuraciones de opciones no son válidas y provocan un error durante el mongosqld inicio.

Modo
mongosqld opciones
Comportamiento

Escritor independiente (noválido)

Esta configuración no es válida para una instancia independiente porque en mongod el auto modo debe especificarse una base de datos escribible.

Lector de muestreo porconglomerados (no válido)

Esta configuración no es válida cuando se utiliza en un conjunto de réplicas de MongoDB o un clúster fragmentado. Si se especifica una base de datos para almacenar datos de esquema --schemaSource con, debe establecerse--schemaMode en auto para que el esquema se pueda actualizar desde la base de datos principal y mantener la coherencia en todo el clúster.

Volver

Componentes de Connector

En esta página