Puede configurar MariaDB para que se ejecute de la manera que desee configurando el servidor con los archivos de opciones de MariaDB. El archivo de opciones predeterminado de MariaDB se llama my.cnf
en sistemas operativos similares a Unix y my.ini
en Windows. Dependiendo de cómo haya instalado MariaDB, el archivo de opciones predeterminado puede estar en varios lugares o puede que no exista en absoluto.
Opciones globales relacionadas con archivos de opciones
Las siguientes opciones se relacionan con la forma en que MariaDB maneja los archivos de opciones. Estas opciones se pueden utilizar con la mayoría de las herramientas de línea de comandos de MariaDB, no solo mysqld
. Deben darse como primer argumento en la línea de comandos:
Opción | Descripción |
---|---|
--print-defaults |
Lea las opciones de los archivos de opciones, imprima todos los valores de las opciones y luego salga del programa. |
--no-defaults |
No lea las opciones de ningún archivo de opciones. |
--defaults-file =path
|
Solo lea las opciones del archivo de opciones dado. |
--defaults-extra-file =path
|
Lea este archivo de opciones adicional después de leer todos los demás archivos de opciones. |
--defaults-group-suffix =suffix
|
Además de los grupos de opciones predeterminados, lea también los grupos de opciones con el sufijo dado. |
Ubicaciones de archivos de opciones predeterminadas
MariaDB lee archivos de opciones de muchos directorios diferentes de forma predeterminada. Consulte las secciones siguientes para averiguar qué directorios se comprueban para qué sistema.
Para obtener una lista exacta de archivos de opciones leídos en su sistema por un programa específico, puede ejecutar:
$program --help --verbose
Por ejemplo:
$ mysqld --help --verbose mysqld Ver 10.3.13-MariaDB-log for Linux on x86_64 (MariaDB Server) Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Starts the MariaDB database server. Usage: mysqld [OPTIONS] Default options are read from the following files in the given order: /etc/my.cnf ~/.my.cnf The following groups are read: mysqld server mysqld-10.3 mariadb mariadb-10.3 client-server galera ....
Los archivos de opciones se escanean una vez, en el orden indicado por --help --verbose
. El efecto de las opciones de configuración es como si se hubieran dado como opciones de línea de comando en el orden en que se encuentran.
Ubicaciones de archivos de opciones predeterminadas en Linux, Unix, Mac
En Linux, Unix o Mac OS X, el archivo de opciones predeterminado se llama my.cnf
. MariaDB busca el archivo de opciones MariaDB en las ubicaciones y pedidos que se enumeran a continuación.
MariaDB comenzando con 10.0.13
En MariaDB 10.0.13 y luego, las ubicaciones dependen de si el DEFAULT_SYSCONFDIR
cmake
La opción se definió cuando se construyó MariaDB. Esta opción generalmente se define como /etc
al crear paquetes RPM, pero normalmente no se define al crear paquetes DEB o tarballs binarios.
- Cuando el
DEFAULT_SYSCONFDIR
cmake
la opción era no definido, MariaDB busca el archivo de opciones MariaDB en las siguientes ubicaciones en el siguiente orden:
Localización | Alcance |
---|---|
/etc/my.cnf |
Global |
/etc/mysql/my.cnf |
Global |
$MYSQL_HOME/my.cnf |
Servidor |
archivo-extra-predeterminado | Archivo especificado con --defaults-extra-file , Si alguna |
~/.my.cnf |
Usuario |
- Cuando el
DEFAULT_SYSCONFDIR
cmake
se definió la opción, MariaDB busca el archivo de opciones MariaDB en las siguientes ubicaciones en el siguiente orden:
Localización | Alcance |
---|---|
DEFAULT_SYSCONFDIR/my.cnf |
Global |
$MYSQL_HOME/my.cnf |
Servidor |
archivo-extra-predeterminado | Archivo especificado con --defaults-extra-file , Si alguna |
~/.my.cnf |
Usuario |
MariaDB hasta 10.0.12
Localización | Alcance |
---|---|
/etc/my.cnf |
Global |
/etc/mysql/my.cnf |
Global |
SYSCONFDIR/my.cnf |
Global |
$MYSQL_HOME/my.cnf |
Servidor |
archivo-extra-predeterminado | Archivo especificado con --defaults-extra-file , Si alguna |
~/.my.cnf |
Usuario |
-
MYSQL_HOME
es la variable de entorno que contiene la ruta al directorio que contiene el servidor específicomy.cnf
expediente. SiMYSQL_HOME
no está configurado y el servidor se inicia con mysqld_safe,MYSQL_HOME
se establece de la siguiente manera:- Si hay un
my.cnf
archivo en el directorio de datos MariaDB, pero no en el directorio base MariaDB,MYSQL_HOME
está configurado en el directorio de datos MariaDB. - Demás,
MYSQL_HOME
está configurado en el directorio base de MariaDB.
- Si hay un
Ubicaciones de archivos de opciones predeterminadas en Windows
En Windows, el archivo de opciones se puede llamar my.ini
o my.cnf
. MariaDB busca el archivo de opciones MariaDB en las siguientes ubicaciones en el siguiente orden:
Localización | Alcance |
---|---|
System Windows Directorymy.ini |
Global |
System Windows Directorymy.cnf |
Global |
Windows Directorymy.ini |
Global |
Windows Directorymy.cnf |
Global |
C:my.ini |
Global |
C:my.cnf |
Global |
INSTALLDIRmy.ini |
Servidor |
INSTALLDIRmy.cnf |
Servidor |
INSTALLDIRdatamy.ini |
Servidor |
INSTALLDIRdatamy.cnf |
Servidor |
%MYSQL_HOME%my.ini |
Servidor |
%MYSQL_HOME%my.cnf |
Servidor |
archivo-extra-predeterminado | Archivo especificado con --defaults-extra-file , Si alguna |
- los
System Windows Directory
es el directorio devuelto por elGetSystemWindowsDirectory
función. El valor suele serC:Windows
. Para encontrar su valor específico en su sistema, abracmd.exe
y ejecutar:echo %WINDIR%
- los
Windows Directory
es el directorio devuelto por elGetWindowsDirectory
función. El valor puede ser privadoWindows Directory
para la aplicación, o puede ser el mismo que elSystem Windows Directory
devuelto por elGetSystemWindowsDirectory
función. -
INSTALLDIR
es el directorio padre del directorio dondemysqld.exe
se encuentra. Por ejemplo, simysqld.exe
es enC:Program FilesMariaDB 10.3bin
, luegoINSTALLDIR
seríaC:Program FilesMariaDB 10.3
. -
MYSQL_HOME
es la variable de entorno que contiene la ruta al directorio que contiene el servidor específicomy.cnf
expediente.
Jerarquía de archivos de opciones predeterminada
MariaDB buscará en todas las ubicaciones anteriores, en orden, incluso si ya ha encontrado un archivo de opciones, y es posible que exista más de un archivo de opciones. Por ejemplo, podría tener un archivo de opciones en /etc/my.cnf
con la configuración global para todos los servidores, y luego podría otro archivo de opciones en ~/.my.cnf
(es decir, el directorio de inicio de su cuenta de usuario) que especificará configuraciones adicionales (o anulará las configuraciones especificadas previamente) que son específicas solo para ese usuario.
Los archivos de opciones suelen ser opcionales. Sin embargo, si el --defaults-file
La opción está configurada, y si el archivo no existe, MariaDB generará un error. Si el --defaults-file
está configurada la opción, entonces MariaDB solamente leer el archivo de opciones al que hace referencia esta opción.
Si una opción o variable del sistema no se establece explícitamente, se establecerá en su valor predeterminado. Consulte Variables del sistema del servidor para obtener una lista completa de todas las variables del sistema del servidor y sus valores predeterminados.
Ubicaciones de archivos de opciones personalizadas
MariaDB se puede configurar para leer opciones de archivos de opciones personalizadas con los siguientes argumentos de línea de comandos. Estos argumentos de la línea de comandos se pueden usar con la mayoría de las herramientas de línea de comandos de MariaDB, no solo mysqld
. Deben darse como primer argumento en la línea de comandos:
Opción | Descripción |
---|---|
--defaults-file =path
|
Solo lea las opciones del archivo de opciones dado. |
--defaults-extra-file =path
|
Lea este archivo de opciones adicional después de leer todos los demás archivos de opciones. |
Sintaxis del archivo de opciones
La sintaxis de los archivos de opciones MariaDB es:
- Las líneas que comienzan con # son comentarios.
- Las líneas vacías se ignoran.
- Los grupos de opciones usan la sintaxis
[group-name]
. Consulte la sección Grupos de opciones a continuación para obtener más información sobre los grupos de opciones disponibles. - El mismo grupo de opciones puede aparecer varias veces.
- los
!include
La directiva se puede utilizar para incluir otros archivos de opciones. Consulte la sección Incluir archivos de opciones a continuación para obtener más información sobre esta sintaxis. - los
!includedir
La directiva se puede utilizar para incluir todos.cnf
archivos (y potencialmente.ini
archivos) en un directorio determinado. Los archivos de opciones dentro del directorio se leen en orden alfabético. Consulte la sección Incluir directorios de archivos de opciones a continuación para obtener más información sobre esta sintaxis. - Guiones (
-
) y guiones bajos (_
) en las opciones son intercambiables. - Se admiten ciertos prefijos de opciones. Consulte la sección Prefijos de opciones a continuación para obtener información sobre los prefijos de opciones disponibles.
- Consulte la sección Opciones a continuación para obtener información sobre las opciones disponibles.
Grupos de opciones
Un programa MariaDB puede leer opciones de uno o varios grupos de opciones. Para obtener una lista exacta de grupos de opciones leídos en su sistema por un programa específico, puede ejecutar:
$program --help --verbose
Por ejemplo:
$ mysqld --help --verbose mysqld Ver 10.3.13-MariaDB-log for Linux on x86_64 (MariaDB Server) Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Starts the MariaDB database server. Usage: mysqld [OPTIONS] Default options are read from the following files in the given order: /etc/my.cnf ~/.my.cnf The following groups are read: mysqld server mysqld-10.3 mariadb mariadb-10.3 client-server galera ....
Grupos de opciones de servidor
Los programas MariaDB leen las opciones del servidor de los siguientes grupos de opciones del servidor:
Grupo | Descripción |
---|---|
[client-server] |
Opciones leídas por todos los programas cliente MariaDB y el servidor MariaDB. Esto es útil para opciones como socket y puerto, que es común entre el servidor y los clientes. |
[server] |
Opciones leídas por MariaDB Server. |
[mysqld] |
Opciones leídas por mysqld , que incluye MariaDB Server y MySQL Server. |
[mariadb] |
Opciones leídas por MariaDB Server. |
[mysqld-X.Y] |
Opciones leídas por una versión específica de mysqld , que incluye MariaDB Server y MySQL Server. Por ejemplo, [mysqld-5.5]
|
[mariadb-X.Y] |
Opciones leídas por una versión específica de MariaDB Server. Por ejemplo, [mariadb-10.3]
|
[galera] |
Opciones leídas por MariaDB Server, pero solo si está compilado con el soporte de Galera Cluster. En MariaDB 10.1 y posteriores, todas las compilaciones en Linux se compilan con el soporte de Galera Cluster. Cuando se usa una de estas compilaciones, las opciones de este grupo de opciones se leen incluso si la funcionalidad de Galera Cluster no está habilitada. |
XY en los ejemplos anteriores, haga referencia a la versión básica (principal, menor) del servidor. Por ejemplo, MariaDB 10.3.10 leería de [mariadb-10.3]
. Usando el mariadb-X.Y
sintaxis, se pueden crear archivos de opciones que tengan opciones exclusivas de MariaDB en los grupos de opciones específicos de MariaDB. Eso permitiría que el archivo de opciones funcione tanto para MariaDB como para MySQL.
Grupos de opciones de cliente
Los programas MariaDB leen las opciones del cliente de los siguientes grupos de opciones:
Grupo | Descripción |
---|---|
[client] |
Opciones leídas por todos los programas cliente MariaDB y MySQL, que incluyen clientes MariaDB y MySQL. Por ejemplo, mysqldump . |
[client-server] |
Opciones leídas por todos los programas cliente MariaDB y el servidor MariaDB. Esto es útil para opciones como socket y puerto, que es común entre el servidor y los clientes. |
[client-mariadb] |
Opciones leídas por todos los programas cliente de MariaDB. |
Además de los grupos comunes, muchos programas cliente también leerán las opciones del cliente del grupo de opciones con el mismo nombre que el programa. Por ejemplo, mysqldump
también lee las opciones del cliente de la [mysqldump]
grupo de opciones.
Sufijos de grupos de opciones personalizadas
MariaDB se puede configurar para leer opciones de grupos de opciones con un sufijo personalizado proporcionando el siguiente argumento de línea de comandos. Este argumento de línea de comandos se puede utilizar con la mayoría de las herramientas de línea de comandos de MariaDB, no solo mysqld
. Debe darse como primer argumento en la línea de comandos:
Opción | Descripción |
---|---|
--defaults-group-suffix =suffix
|
Además de los grupos de opciones predeterminados, lea también los grupos de opciones con el sufijo dado. |
El sufijo de grupo predeterminado también se puede especificar mediante el MYSQL_GROUP_SUFFIX
Variable ambiental.
Incluyendo archivos de opciones
Es posible incluir archivos de opciones adicionales de otro archivo de opciones. Por ejemplo, para incluir /etc/mysql/dbserver1.cnf
, un archivo de opciones podría contener:
[mariadb] ... !include /etc/mysql/dbserver1.cnf
Incluyendo directorios de archivos de opciones
También es posible incluir todos los archivos de opciones en un directorio de otro archivo de opciones. Por ejemplo, para incluir todos los archivos de opciones en /etc/my.cnf.d/
, un archivo de opciones podría contener:
[mariadb] ... !includedir /etc/my.cnf.d/
Los archivos de opciones dentro del directorio se leen en orden alfabético.
Todos los nombres de archivos de opciones deben terminar en .cnf
en sistemas operativos similares a Unix. En Windows, todos los nombres de archivos de opciones deben terminar en .cnf
o .ini
.
Comprobación de las opciones del programa
Puede comprobar qué opciones va a utilizar un programa determinado utilizando el --print-defaults
argumento de la línea de comandos:
Opción | Descripción |
---|---|
--print-defaults |
Leer opciones de la opción archivos, imprima todos los valores de las opciones y luego salga del programa. |
Este argumento de línea de comandos se puede utilizar con la mayoría de las herramientas de línea de comandos de MariaDB, no solo mysqld
. Debe proporcionarse como primer argumento en la línea de comandos. Por ejemplo:
$ mysqldump --print-defaults mysqldump would have been started with the following arguments: --ssl_cert=/etc/my.cnf.d/certificates/client-cert.pem --ssl_key=/etc/my.cnf.d/certificates/client-key.pem --ssl_ca=/etc/my.cnf.d/certificates/ca.pem --ssl-verify-server-cert --max_allowed_packet=1GB
También puede comprobar qué opciones va a utilizar un programa determinado utilizando el my_print_defaults
utilidad y proporcionando los nombres de los grupos de opciones que lee el programa. Por ejemplo:
$ my_print_defaults mysqldump client client-server client-mariadb --ssl_cert=/etc/my.cnf.d/certificates/client-cert.pem --ssl_key=/etc/my.cnf.d/certificates/client-key.pem --ssl_ca=/etc/my.cnf.d/certificates/ca.pem --ssl-verify-server-cert --max_allowed_packet=1GB
los my_print_defaults
utilidad --mysqld
La opción de línea de comandos proporciona un acceso directo para hacer referencia a todos los grupos de opciones del servidor:
$ my_print_defaults --mysqld --log_bin=mariadb-bin --log_slave_updates=ON --ssl_cert=/etc/my.cnf.d/certificates/server-cert.pem --ssl_key=/etc/my.cnf.d/certificates/server-key.pem --ssl_ca=/etc/my.cnf.d/certificates/ca.pem
Archivo de opción de credencial de autenticación ofuscado de MySQL 5.6
MySQL 5.6 y superior admiten un archivo de opción de credencial de autenticación ofuscado llamado .mylogin.cnf
que se crea con mysql_config_editor
.
MariaDB no admite esto. Las contraseñas en MySQL .mylogin.cnf
sólo están ofuscados, en lugar de cifrados, por lo que la función no aporta mucho desde una perspectiva de seguridad. Es más probable que dé a los usuarios una falsa sensación de seguridad, en lugar de protegerlos seriamente.
Prefijos de opciones
MariaDB admite ciertos prefijos que se pueden usar con opciones. Los prefijos de opciones admitidos son:
Prefijo de opción | Descripción |
---|---|
autoset |
Establece el valor de la opción automáticamente. Solo compatible con determinadas opciones. Disponible en MariaDB 10.1.7 y después. |
disable |
Para todas las opciones booleanas, deshabilita la configuración (equivalente a establecerla en 0 ). Igual que skip . |
enable |
Para todas las opciones booleanas, habilita la configuración (equivalente a establecerla en 1 ). |
loose |
No genere un error si la opción no existe. |
maximum |
Establece el valor máximo para la opción. |
skip |
Para todas las opciones booleanas, deshabilita la configuración (equivalente a establecerla en 0 ). Igual que disable . |
Por ejemplo:
[mariadb] ... # determine a good value for open_files_limit automatically autoset_open_files_limit # disable the unix socket plugin disable_unix_socket # enable the slow query log enable_slow_query_log # don't produce an error if these options don't exist loose_file_key_management_filename = /etc/mysql/encryption/keyfile.enc loose_file_key_management_filekey = FILE:/etc/mysql/encryption/keyfile.key loose_file_key_management_encryption_algorithm = AES_CTR # set max_allowed_packet to maximum value maximum_max_allowed_packet # disable external locking for MyISAM skip_external_locking
Opciones
Guiones (-
) y guiones bajos (_
) en las opciones son intercambiables.
Si una opción no se establece explícitamente, el servidor o cliente simplemente usará el valor predeterminado para esa opción.
Opciones del servidor MariaDB
Las opciones del servidor MariaDB se pueden configurar en grupos de opciones del servidor.
Para obtener una lista de opciones que se pueden configurar para MariaDB Server, consulte la lista de opciones disponibles para mysqld
.
La mayoría de las variables del sistema del servidor también se pueden configurar en el archivo de opciones de MariaDB.
Opciones del cliente MariaDB
Las opciones del cliente MariaDB se pueden configurar en grupos de opciones del cliente.
Consulte la página específica de cada programa cliente para determinar qué opciones están disponibles para ese programa.
Archivos de opción de ejemplo
La mayoría de las instalaciones de MariaDB incluyen un archivo de opciones de MariaDB de muestra llamado my-default.cnf
. En versiones anteriores, también habría encontrado los siguientes archivos de opciones:
-
my-small.cnf
-
my-medium.cnf
-
my-large.cnf
-
my-huge.cnf
Sin embargo, estos archivos de opciones ahora están muy anticuados para los servidores modernos, por lo que se eliminaron en MariaDB 10.3.1.
En las distribuciones de origen, los archivos de opciones de muestra se encuentran normalmente en el support-files
directorio, y en otras distribuciones, los archivos de opciones se encuentran generalmente en el share/mysql
directorio que es relativo al directorio de instalación base de MariaDB.
Puede copiar uno de estos archivos de opciones MariaDB de muestra y utilizarlo como base para crear el archivo de opciones MariaDB principal de su servidor.
Ejemplo de archivo de opción mínima
El siguiente es un archivo my.cnf mínimo que puede usar para probar MariaDB.
[client-server] # Uncomment these if you want to use a nonstandard connection to MariaDB #socket=/tmp/mysql.sock #port=3306 # This will be passed to all MariaDB clients [client] #password=my_password # The MariaDB server [mysqld] # Directory where you want to put your data data=/usr/local/mysql/var # Directory for the errmsg.sys file in the language you want to use language=/usr/local/share/mysql/english # This is the prefix name to be used for all log, error and replication files log-basename=mysqld # Enable logging by default to help find problems general-log log-slow-queries
Ejemplo de archivo de opción híbrida
El siguiente es un extracto de un archivo de opciones que se puede usar si se quiere trabajar tanto con MySQL como con MariaDB.
# Example mysql config file. [client-server] socket=/tmp/mysql-dbug.sock port=3307 # This will be passed to all mysql clients [client] password=my_password # Here are entries for some specific programs # The following values assume you have at least 32M ram # The MySQL server [mysqld] temp-pool key_buffer_size=16M datadir=/my/mysqldata loose-innodb_file_per_table [mariadb] datadir=/my/data default-storage-engine=aria loose-mutex-deadlock-detector max-connections=20 [mariadb-5.5] language=/my/maria-5.5/sql/share/english/ socket=/tmp/mysql-dbug.sock port=3307 [mariadb-10.1] language=/my/maria-10.1/sql/share/english/ socket=/tmp/mysql2-dbug.sock [mysqldump] quick max_allowed_packet=16M [mysql] no-auto-rehash loose-abort-source-on-error
Ver también
-
Configuración de MariaDB Connector / C con archivos de opción
-
Solución de problemas de conexión
-
Configuración de MariaDB para acceso de cliente remoto
- MySQL 5.6: ¿Seguridad a través de la complacencia?
El contenido reproducido en este sitio es propiedad de sus respectivos dueños, y MariaDB no revisa este contenido con anticipación. Los puntos de vista, la información y las opiniones expresadas por este contenido no representan necesariamente las de MariaDB o de cualquier otra parte.