Descripción
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.
Uso
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.
Comenzando mongosqld con un archivo de esquema
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.
Comenzando mongosqld con una base de datos de esquema
Utilice la opción para especificar una base de datos para almacenar información del --schemaSource esquema.
mongosqld --schemaSource sampleDb
Comenzando mongosqld con espacios de nombres especificados
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.
Permisos de usuario de MongoDB
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.
Versión mínima de TLS predeterminada
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.
Opciones de línea de comandos
Opciones principales
--helpDevuelve información sobre las opciones y el uso
mongosqldde.
--versionDevuelve el
mongosqldnú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-uriconexió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 equivalente
mongosqld. Para ver la lista completa de opcionesmongosqld, consulte Opciones de línea de comandos.Nota
En lugar de especificar
usernameypassworden su cadena de conexión, ejecutemongosqldcon la--authopción para indicarle a que pase las credenciales de autenticación proporcionadas por el cliente SQL al servidormongosqldMongoDB.De manera similar, en lugar de habilitar en la cadena de conexión,
sslejecutemongosqld--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
mongosqldno son compatibles.
--mongo-versionCompatibility <version-number>Restringe
mongosqlda 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
mongosqldde que solo use funciones compatibles con MongoDB:3.2mongosqld --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
mongosqldmongosqldsupera 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
--authestá activado. El usuario especificado por--mongo-usernamedebe ser un usuario válido de MongoDB con el privilegiolistDatabases. 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
--authestá habilitado. Úselo junto--mongo-usernamecon.
--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
--authcredenciales--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
--authestá habilitado. Úselo junto con las opciones de credenciales--mongo-usernamey.--mongo-passwordValorDescripciónSolicitud de comentarios 5802 Mecanismo de autenticación de respuesta de desafío salado estándar que utiliza la función hash SHA1.
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
PLAINpara autenticar a los usuarios de base de datos.PLAINtransmite 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.
Opciones de esquema
--schemaDirectory <directoryname>Obsoleto desde la versión 2.2.
Utilice en su
--schemalugar.
--sampleNamespaces <db.collection>Nuevo en la versión 2.5.
--sampleNamespacesEspecifica 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
--sampleNamespacesopción o la--schemaopción,mongosqldmuestrea datos de todas las bases de datos y colecciones de MongoDB disponibles, excepto las bases de datosadminlocaly.
--schemaMode <[custom|auto]>Por defecto:
customNuevo en la versión 2.11.
Configura el modo de
mongosqldmuestreo de. Debe usarse con la--schemaSourceopción. Los siguientes valores determinan el comportamiento del muestreo:Valor--schemaModeComportamientocustommongosqldlee un esquema almacenado de la base de datos MongoDB especificada por la--schemaSourceopción.automongosqldmuestrea el esquema y escribe los datos del esquema en la base de datos MongoDB especificada por la--schemaSourceopción.Para obtener más información sobre cómo configurar el modo de muestreo, consulte la Tabla de referencia del modo de muestreo.
--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
--schemaModeesquema.Nota
Si no especifica ninguna de las
--schema--schemaMode--schemaSourceopciones, y, mantiene su esquema en lamongosqldmemoria.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:
defaultSchemaNuevo en la versión 2.11.
Opcional. El nombre del esquema que se cargará o escribirá
--schemaSourceen la base de datos. Especificar nombres de esquema permite almacenar varios esquemas en la--schemaSourcebase de datos. El comportamiento depende del valor--schemaModede:--schemaModeValor--schemaNameComportamientocustomEl nombre del esquema que se cargará desde la base de datos especificada por la
--schemaSourceopción.autoEl nombre del esquema que se escribirá en la
--schemaSourcebase 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 enmongosqld--schemaNamecon. Si no almacena el nombre del esquema al cargarlo, el nombre predeterminadodefaultSchemaserá. Si el nombre del esquema no existe, se generará un error de similar al siguiente: Esquema de MongoDB aún no disponible. Error al inicializarmongosqldel 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
--sampleSizeen0para incluir todos los documentos del espacio de nombres especificado al crear el esquema. Si no especifica un espacio de nombres, establecer en--sampleSizehace0mongosqldque considere todos los documentos de todas las bases de datos (excepto,localadminsystemy) al crear el esquema. Vea un ejemplo a continuación.
--schemaRefreshIntervalSecs <number>Por defecto: 0
Cambiado en la 2.11 versión: Se renombró
--sampleRefreshIntervalSecsa--schemaRefreshIntervalSecsEl intervalo en segundos en el que remuestrea los datos para crear su esquema. El valor
mongosqldpredeterminado0es, 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 BSONcsharp: La representación UUID heredada de C#/.NETjava:La representación UUID heredada de Java
--prejoinNuevo 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
testcon 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
--prejoinlaacolumna se incluyan en latest_btabla:mysql> select * from test_b; +------+------+--------+-------+ | _id | a | b | b_idx | +------+------+--------+-------+ | 1 | 3 | orange | 0 | | 1 | 3 | apple | 1 | | 1 | 3 | pear | 2 | +------+------+--------+-------+
Opciones de registro
--logAppendAgrega una nueva salida de registro a un archivo de registro existente especificado
--logPathpor.Requiere
--logRotate.
--logPath <filename>Default: stderr
Especifica una ruta a un archivo de registro para almacenar la salida del registro.
--logRotate reopen | renamePor 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 LOGSen el MongoDB Connector for BI o al reiniciarmongosqld.- Si
--logRotaterenameestablece 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
--logRotatereopenestablece 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
SIGUSR1para reiniciar el procesomongosqldy rotar los registros.- Si
--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
0para deshabilitar el registro de uso.Nota
El registro de uso no está habilitado para Windows.
--verbose, -vEspecifica que debe proporcionar una salida de registro más
mongosqlddetallada.La siguiente tabla describe la información proporcionada en cada nivel de registro:
Opción de letraNivel de registroContenido del mensaje--quietNinguno
No registrar nada
No flag
predeterminado
Mensajes de registro que notifican al usuario
mongosqldeventos básicos y cambios de estado.-vAdministrador
Mensajes de registro que proporcionan información a
mongosqldadministradores.-vvDesarrollador
Mensajes de registro útiles para el soporte y desarrollo de MongoDB.
Opciones TLS/SSL de MongoDB
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-sslPor defecto: False
Instruye a
mongosqlda usar TLS/SSL al conectarse a una instancia de MongoDB.
--mongo-sslPEMKeyFile <filename>Especifica el
.pemarchivo que contiene el certificado TLS/SSL y la clave quemongosqldusará al conectarse a MongoDB. Puede especificar el nombre del.pemarchivo 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-sslAllowInvalidHostnamesPermite a conectarse a un servidor MongoDB cuyo nombre de host difiere del nombre de host en su certificado
mongosqldTLS/SSL.
--mongo-sslAllowInvalidCertificatesPermite 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
allowInvalidCertificatesadvertencia.
--mongo-sslCAFile <filename>Especifica el archivo
.pemde la instancia de MongoDB que contiene la cadena de certificados raíz de la autoridad de certificación. Especifique el nombre del archivo.pemmediante 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.
Opciones TLS/SSL del cliente
--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
sslModeopción puede ser uno de los siguientes:
--sslPEMKeyFile <filename>Especifica el archivo
.pemque contiene el certificado TLS/SSL y la clave para los clientes MySQL. Especifique el nombre del archivo.pemusando rutas relativas o absolutas.
--sslPEMKeyPassword <password>Especifica la contraseña utilizada para descifrar la clave privada especificada
--sslPEMKeyFilepor.
--sslAllowInvalidCertificatesPermite que los clientes MySQL presenten certificados TLS/SSL de cliente no válidos.
--sslAllowInvalidHostnamesPermite que los clientes SQL se conecten a un cuyo nombre de host difiere del nombre de host en su certificado
mongosqldTLS/SSL.
--sslCAFile <filename>Especifica el
mongosqld.pemarchivo que contiene la cadena de certificados raíz de la autoridad de certificación. Especifique el nombre del.pemarchivo mediante rutas relativas o absolutas.
--sslCRLFile <filename>Especifica el
mongosqld.pemarchivo que contiene la lista de revocación de certificados.
--authRequiere 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-usernameopciones--mongo-passwordy omongodb.net.auth.usernamelas configuracionesmongodb.net.auth.passwordy en el archivo de configuración.mongosqldutiliza 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
mongosqldautenticaciónGSSAPIyPLAINutilizan la$externalfuente, mientrasSCRAM-SHA-1que ySCRAM-SHA-256utilizan 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
$externalalmacena 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
sourcepará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
mongosqldelmechanismvalor de su nombre de usuario de MySQL o Tableau.ValorDescripciónMecanismo 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
PLAINpara autenticar a los usuarios de base de datos.PLAINtransmite 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
mongosqldpredeterminadoTLS1_1corresponde a la versión de 1.1 TLS.
Opciones de servicio
--serviceName <service-name>Nombre del servicio del sistema que
mongosqldejecuta.
--serviceDisplayName <service-name>Nombre visible del servicio del sistema que ejecuta
mongosqld.
--serviceDescription <service-name>Descripción del servicio del sistema que
mongosqldejecuta.
Kerberos Options
--gssapiHostname <hostname>Predeterminado: primera dirección IP
net.bindIppara.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.
--gssapiConstrainedDelegationPor 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
mongosqldlas 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.
Opciones de socket
--filePermissions <mode>Por defecto: 0700
Especifique los permisos para el archivo de socket de dominio Unix.
--unixSocketPrefix <path>Por defecto: /tmp
Especifica un directorio alternativo para el socket de dominio
mongosqldUnix.mongosqldcreará un archivo de socket llamadomysql.sockdebajo de esta ruta. Si no especifica, el socket se--unixSocketPrefixubicará/tmp/mysql.socken.
Opción de parámetro de establecimiento
--setParameter <parameter>- ParameterTipoCorresponde a
"polymorphic_type_conversion_mode=<value>"string
Determina cómo evalúa los campos de documento especificados con varios tipos de datos. Los valores
mongosqldaceptadosoffson,fastsafey. Para obtener más información sobre estos valores, consulte Variables del sistema."type_conversion_mode=<value>"string
Especifica el modo que
mongosqldse utiliza para convertir los tipos de datos. BI Connector utiliza su propio modomongosql() de forma predeterminada. Los valores aceptados sonmongosqlmysqly. Para obtener más información sobre estos valores, consulte Variables del sistema.El siguiente ejemplo inicia y utiliza
mongosqldla--setParameteropción para especificar el modo de conversión de tipo:mongosqld --setParameter "type_conversion_mode=mongosql"
archivo de configuración
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.
Opciones de registro
systemLog: logAppend: <boolean> logRotate: "rename"|"reopen" path: <string> quiet: <boolean> verbosity: <integer>
Nombre | Tipo | Corresponde a |
|---|---|---|
booleano | ||
string | ||
string | ||
booleano | ||
entero |
Opciones de esquema
schema: path: <string> maxVarcharLength: <integer>
Nombre | Tipo | Corresponde a |
|---|---|---|
string | ||
entero |
Opciones de muestreo de datos
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 |
|---|---|---|
string | ||
string | ||
string | ||
entero | ||
booleano | ||
cadena o matriz de cadenas | ||
entero | ||
string |
Opciones de tiempo de ejecución
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.maxPerStageTipo: entero
Default: unlimited
Especifica la cantidad máxima de memoria en bytes que puede utilizar una etapa de ejecución de consulta.
runtime.memory.maxPerServerTipo: 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.maxPerConnectionTipo: 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
mongosqldusar.
Opciones de red
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 | |
|---|---|---|---|
string | El componente de nombre de host de Cambiado en la 2.2 versión: Para vincularse a múltiples direcciones IP, ingrese una lista de valores separados por comas. Por ejemplo: | ||
entero | El componente portuario de | ||
booleano | Inversa de | ||
string | |||
string | |||
booleano | |||
string | |||
string | |||
string | |||
string | |||
string |
Opciones de seguridad
security: enabled: <boolean> defaultMechanism: <string> defaultSource: <string> gssapi: hostname: <string> serviceName: <string>
Nombre | Tipo | Corresponde a |
|---|---|---|
booleano | ||
string | ||
string | ||
string | ||
string | ||
string |
Opciones de host de MongoDB
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 |
|---|---|---|
string | ||
string | ||
booleano | ||
booleano | ||
booleano | ||
string | ||
string | ||
string | ||
string | ||
booleano | ||
string | ||
string | ||
string | ||
string | ||
string | ||
string |
Opciones de gestión de procesos
processManagement: service: name: <string> displayName: <string> description: <string>
Nombre | Tipo | Corresponde a |
|---|---|---|
string | ||
string | ||
string |
Establecer opciones de parámetros
setParameter: polymorphic_type_conversion_mode: <string> type_conversion_mode: <string>
Nombre | Tipo | Corresponde a |
|---|---|---|
string | Determina cómo evalúa los campos de documento especificados con varios tipos de datos. Los valores | |
string | Especifica el modo que |
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.
Cargar valores de configuración externa
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.
Archivo de configuración de ejemplo
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"
Ejemplos de uso
mongosqld con un archivo de esquema
Utilice la opción para --schema especificar un archivo de esquema para que mongosqld lo utilice.
mongosqld --schema /path/to/schema-file.drdl
Especificar una colección para muestrear
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
Especificar múltiples colecciones para muestrear
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.
Excluir bases de datos y colecciones del muestreo
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.*'
Muestra de todos los documentos de una colección
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
Especificar una base de datos para conservar un esquema
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
Especificar un intervalo de remuestreo de datos
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
mongosqld con Autenticación activada
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.
mongosqld con un archivo de configuración
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.
Uso con Atlas
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.
gráfica de referencia de modos de muestreo
La siguiente tabla describe los tipos de mongosqld configuraciones de inicio y las opciones utilizadas con cada una.
Modo | mongosqld opciones | Comportamiento | |||
|---|---|---|---|---|---|
Esquema independiente |
|
Por ejemplo: 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 Por ejemplo: | |||
Auto Schema |
| Muestrear y conservar datos de esquema en una base de datos de esquema especificada por el usuario. Por ejemplo: Para obtener más información, consulte Modo de esquema automático (Conservar un esquema en MongoDB). |
Configuraciones no válidas
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 |
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 |