auto_increment_increment
auto_increment_increment y
auto_increment_offset están pensados
para usarse con replicación maestro-a-maestro, y puede usarse para
controlar la operación de columnas
AUTO_INCREMENT . Ambas variables pueden cambiarse global o
localmente, y cada una de ellas puede tomar un valor entre 1 y
65.535 incluídos. Cambiar el valor de estas variables a 0 causa que
su valor sea 1. Intentar cambiar el valor de cualquiera de estas
variables a un entero mayor que 65,535 o menor a 0 causa que su
valor sea 65,535. Intentar cambiar el valor de
auto_increment_increment o de
auto_increment_offset con un valor no entero da un error, y
el valor de la variable no se cambie en ese caso.
Estas dos variables afectan al comportamiento de la columnas
AUTO_INCREMENT así:
auto_increment_increment
controla el intervalo en que se incrementa el valor de
columna. Por ejemplo:
mysql> SHOW VARIABLES LIKE 'auto_inc%';
+--------------------------+-------+
| Variable_name | Value |
+--------------------------+-------+
| auto_increment_increment | 1 |
| auto_increment_offset | 1 |
+--------------------------+-------+
2 rows in set (0.00 sec)
mysql> CREATE TABLE autoinc1 (col INT NOT NULL AUTO_INCREMENT PRIMARY KEY);
Query OK, 0 rows affected (0.04 sec)
mysql> SET @auto_increment_increment=10;
Query OK, 0 rows affected (0.00 sec)
mysql> SHOW VARIABLES LIKE 'auto_inc%';
+--------------------------+-------+
| Variable_name | Value |
+--------------------------+-------+
| auto_increment_increment | 10 |
| auto_increment_offset | 1 |
+--------------------------+-------+
2 rows in set (0.01 sec)
mysql> INSERT INTO autoinc1 VALUES (NULL), (NULL), (NULL), (NULL);
Query OK, 4 rows affected (0.00 sec)
Records: 4 Duplicates: 0 Warnings: 0
mysql> SELECT col FROM autoinc1;
+-----+
| col |
+-----+
| 1 |
| 11 |
| 21 |
| 31 |
+-----+
4 rows in set (0.00 sec)
(Note cómo se usa SHOW VARIABLES
para obtener el valor actual de estas variables.)
auto_increment_offset
determina el punto de inicio para el valor de las columnas
AUTO_INCREMENT. Considere lo
siguiente, asumiendo que estos comandos se ejecutan durante
la misma sesión que el ejemplo anterior:
mysql> SET @auto_increment_offset=5;
Query OK, 0 rows affected (0.00 sec)
mysql> SHOW VARIABLES LIKE 'auto_inc%';
+--------------------------+-------+
| Variable_name | Value |
+--------------------------+-------+
| auto_increment_increment | 10 |
| auto_increment_offset | 5 |
+--------------------------+-------+
2 rows in set (0.00 sec)
mysql> CREATE TABLE autoinc2 (col INT NOT NULL AUTO_INCREMENT PRIMARY KEY);
Query OK, 0 rows affected (0.06 sec)
mysql> INSERT INTO autoinc2 VALUES (NULL), (NULL), (NULL), (NULL);
Query OK, 4 rows affected (0.00 sec)
Records: 4 Duplicates: 0 Warnings: 0
mysql> SELECT col FROM autoinc2;
+-----+
| col |
+-----+
| 5 |
| 15 |
| 25 |
| 35 |
+-----+
4 rows in set (0.02 sec)
Si el valor de
auto_increment_offset es mayor que el de
auto_increment_increment,
entonces el valor
auto_increment_offset se ignora.
Si una o ambas variables se cambian y los nuevos registros
insertados en una tabla que contengan una columna
AUTO_INCREMENT , el resultado puede ser
no intuitivo, como los valores de las series de
AUTO_INCREMENT se calculan sin tener en
cuenta los valores ya existentes en la columna, y el siguiente valor
insertado es el menor valor de la serie que es mayor al máximo valor
existente en la columna AUTO_INCREMENT
. En otras palabras, la serie se calcula así:
auto_increment_offset +
N *
auto_increment_increment
donde N es un entero
positivo en la serie [1, 2, 3, ...]. Por ejemplo:
mysql> SHOW VARIABLES LIKE 'auto_inc%';
+--------------------------+-------+
| Variable_name | Value |
+--------------------------+-------+
| auto_increment_increment | 10 |
| auto_increment_offset | 5 |
+--------------------------+-------+
2 rows in set (0.00 sec)
mysql> SELECT col FROM autoinc1;
+-----+
| col |
+-----+
| 1 |
| 11 |
| 21 |
| 31 |
+-----+
4 rows in set (0.00 sec)
mysql> INSERT INTO autoinc1 VALUES (NULL), (NULL), (NULL), (NULL);
Query OK, 4 rows affected (0.00 sec)
Records: 4 Duplicates: 0 Warnings: 0
mysql> SELECT col FROM autoinc1;
+-----+
| col |
+-----+
| 1 |
| 11 |
| 21 |
| 31 |
| 35 |
| 45 |
| 55 |
| 65 |
+-----+
8 rows in set (0.00 sec)
Los valores mostrados por
auto_increment_increment y
auto_increment_offset generan las series 5 +
N * 10, esto es, [5, 15,
25, 35, 45, ...]. El mayor valor presente en la columna
col antes del
INSERT es 31, y el siguiente valor disponible en la serie
AUTO_INCREMENT es 35, así que los
valores insertados para col empiezan en
ese punto y los resultados se muestran para la consulta
SELECT.
Es importante recordar que no es posible confinar los efectos de
estas dos variables en una sola tabla, y por lo tanto no toman el
lugar de la secuencia ofrecido por otros sistemas gestores de bases
de datos; estas variables controlan el comportamiento de todas las
columnas AUTO_INCREMENT en
todas las tablas del
servidor MySQL. Si una de estas variables se cambia globalmente,
entonces sus efectos persisten hasta que el valor global se cambia o
subyace al cambiarlo localmente, o hasta que se reinicia
mysqld ; si se cambia localmente,
entonces el nuevo valor afecta a las columnas
AUTO_INCREMENT para todas las tablas en que se inserten
nuevos registros por el usuario actual durante la sesión, hasta que
los valores se cambien durante esa sesión.
La variable auto_increment_increment
se añadió en MySQL 5.0.2. Su valor por defecto es 1. Consulte
Capítulo 6, Replicación en MySQL.
auto_increment_offset
Esta variable se añadió en MySQL 5.0.2. Su valor por defecto es
1. Para más detalles, consulte la descripción de
auto_increment_increment.
back_log
El numero de peticiones de conexión que puede tener MySQL. Esto
se usa cuando el thread principal de MySQL recibe muchas peticiones
de conexión en un pequeño lapso de tiempo. Necesita algo de tiempo
(aunque muy poco) el thread principal para comprobar la conexión y
empezar un nuevo thread. El valor de back_log
indica cuántas peticiones pueden almacenarse duarnte este corto
espacio de tiempo antes que MySQL temporalmente pare de responder a
nuevas peticiones. Necesita incrementarlo sólo si espera un gran
número de conexiones en un pequeño lapso de tiempo.
En otras palabras, este valor es el tamaño de la cola que escucha
conexiones TCP/IP entrantes. El sistema operativo tiene su propio
límite en el tamaño de la cola. La página del manual para la llamada
de sistema Unix listen() proporcion más
detalles. Consulte la documentación del SO para el máximo valor de
esta variable. Intentar cambiar el valor de
back_log por encima del límite del sistema operativo no es
efectivo.
basedir
El directorio de instalación de MySQL. Esta variable puede
cambiarse con la opción --basedir .
bdb_cache_size
El tamaño del buffer que se utiliza para cachear índices y
registros para tablas BDB . Si no usa
tablas BDB debe arrancar
mysqld con
--skip-bdb para no gastar memoria para esta caché.
bdb_home
El directorio base para las tablas BDB
tables. Debe asignarse el mismo valor que para la variable
datadir.
bdb_log_buffer_size
El tamaño del buffer que se utiliza para cachear índices y
registros para tablas BDB . Si no usa
tablas BDB , debe usar el valor 0 o
arrancar mysqld con
--skip-bdb para no gastar memoria con
esta caché.
bdb_logdir
El directorio en que el motor de almacenamiento
BDB escribe sus ficheros de log. Esta
variable puede cambiarse con la opción
--bdb-logdir .
bdb_max_lock
El máximo número de bloqueos que pueden tenerse activos en una
tabla BDB (10,000 por defecto). Debe
incrementarlo si errores como los siguientes ocurren cuando realiza
transacciones grandes o cuando mysqld
tiene que examinar muchos registros para calcular una consulta:
bdb: Lock table is out of available locks
Got error 12 from ...
bdb_shared_data
Está ON si usa
--bdb-shared-data.
bdb_tmpdir
El valor de la opción --bdb-tmpdir .
bdb_version
Consulte la versión de version_bdb.
binlog_cache_size
El tamaño de la caché para tratar comandos SQL para el log
binario durante una transacción. La cache del log binario se guarda
para cada cliente si el servidor soporta diversos motores de
almacenamiento transaccionales, empezando por MySQL 4.1.2, si el
servidor tiene activados los logs binarios (opción
--log-bin). Si suele usar transacciones
grandes, con múltiples comandos, puede incrementar este valor para
mejorar el rendimiento. Las variables de estado
Binlog_cache_use y
Binlog_cache_disk_use pueden ser útiles
para ajustar el tamaño de estas variables. Consulte
Sección 5.10.3, ?El registro binario (Binary Log)?.
bulk_insert_buffer_size
MyISAM usa una caché especial con
forma de árbol para hacer las inserciones más rápidas para
INSERT ... SELECT,
INSERT ... VALUES (...), (...), ..., y
LOAD DATA INFILE. Esta variable limita
el tamaño del árbol de la caché en bytes por thread. Cambiarlo a 0
desactiva esta optimización. Nota:
Esta caché se usa sólo al añadir datos en una tabla no vacía. El
valor por defecto es 8MB.
character_set_client
El conjunto de carácteres para comandos que llegan del cliente.
character_set_connection
El conjunto de carácteres usado por los literales que no tienen
un conjunto de carácteres introducido y para conversiones de números
a cadenas de carácteres.
character_set_database
El conjunto de carácteres usado por la base de datos por defecto.
El servidor actualiza esta variable cada vez que la base de datos
por defecto cambia. Si no hay base de datos por defecto, la variable
toma el mismo valor que character_set_server.
character_set_results
El conjunto de carácteres usado para retornar los resultados de
las consultas al cliente.
character_set_server
El conjunto de carácteres por defecto del servidor.
character_set_system
El conjunto de carácteres usado por el servidor para almacenar
identificadores. El valor es siempre utf8.
character_sets_dir
El directorio en el que están instalados los conjuntos de
carácteres.
collation_connection
La colación del conjunto de carácteres de las conexiones.
collation_database
La colación usada por la base de datos por defecto. El servidor
cambia esta variable cada vez que la base de datos por defecto
cambia. Si no hay una base de datos por defecto, la variable toma el
valor de collation_server.
collation_server
La colación por defecto del servidor.
concurrent_insert
Si ON (por defecto), MySQL permite
comandos INSERT y
SELECT que se ejecuten concurrentemente para tablas
MyISAM que no tienen bloques libres en
el medio. Puede desactivar esta opción arrancando
mysqld con
--safe or --skip-new.
En MySQL 5.0.6 esta variable ha cambiado a un entero que toma 3
valores:
connect_timeout
El número de segundos que el servidor
mysqld espera para un paquete de conexión antes de
responder con Bad handshake.
datadir
El directorio de datos de MySQL. Esta variable puede cambiarse
con la opción --datadir.
default_week_format
El modo a usar por la función WEEK().
delay_key_write
Esta opción se aplica sólo a tablas MyISAM
. Puede tener uno de los siguientes valores que afectan la forma de
tratar la opción DELAY_KEY_WRITE que
puede usarse en los comandos CREATE TABLE
.
Si DELAY_KEY_WRITE está activo,
significa que el key buffer para tablas con esta opción no se
vuelcan en cada actualización del índice, sino que sólo cuando se
cierra una tabla. Esto acelera las escrituras de claves, pero si usa
esta característica, debe añadir chequeo automático de todas las
tablas MyISAM arrancando el servidor
con la opción --myisam-recover (por
ejemplo --myisam-recover=BACKUP,FORCE).
Consulte
Sección 5.3.1, ?Opciones del comando mysqld?
y
Sección 14.1.1, ?Opciones de arranque de
MyISAM?.
Tenga en cuenta que --external-locking
no ofrece ninguna protección contra corrupción de índices para
tablas que usan escrituras de claves retardadas.
delayed_insert_limit
Tras insertar delayed_insert_limit
registros retardados, el thread que se encarga del
INSERT DELAYED comprueba si hay algún
comando SELECT pendiente. Si es así,
les permite que se ejecuten antes de continuar insertando registros
retardados.
delayed_insert_timeout
Cuánto debe esperar el thread encargado de
INSERT DELAYED para un comando INSERT
antes de terminar.
delayed_queue_size
Este es el límite por tabla del número de registros a encolar
cuando se tratan comandos INSERT DELAYED
. Si la cola se llena, cualquier cliente que lance un comando
INSERT DELAYED espera hasta que haya
espacio en la cola de nuevo.
expire_logs_days
El número de días para eliminar el log binario automáticamente.
El valor por defecto es 0, lo que significa ``sin eliminación
automática''. Las posibles eliminaciones se realizan al arranque y
en la rotación del log binario.
flush
Está ON si ha arrancado
mysqld con la opción
--flush.
flush_time
Si se asigna un valor distinto a cero, todas las tablas se
cierran cada flush_time segundos para
liberar recursos y sincronizar datos no volcados en disco.
Recomendamos que esta opción se use sólo en Windows 9x o Me, o en
sistemas con recursos mínimos.
ft_boolean_syntax
La lista de operadores soportado por búsquedas full-text
booleanas usando IN BOOLEAN MODE.
Consulte
Sección 12.7.1, ?Búsquedas booleanas de texto completo (Full-Text)?.
El valor por defecto de la variable es '+
-><()~*:""&|'. Las reglas para cambiar el valor son las
siguientes:
- La función del operador viene determinada por su
posición en la cadena de carácteres.
- El valor de reemplazo debe tener 14 carácteres.
- Cada carácter debe ser ASCII y no alfanumérico.
- El primer o segundo carácter debe ser un espacio.
- No se permiten duplicados excepto los operadores
delimitadores de frase en las posiciones 11 y 12. Estos dos
carácteres no tienen porqué ser los mismos, pero son los dos
únicos posibles.
- Las posiciones 10, 13, y 14 (que por defecto son '
:',
'&', y '|')
están reservados para extensiones futuras.
ft_max_word_len
La longitud máxima de la palabra incluída en un índice
FULLTEXT .
Nota: índices
FULLTEXT deben reconstruirse al cambiar
esta variable. Use REPAIR TABLE
tbl_name QUICK.
ft_min_word_len
La longitud mínima de la palabra a incluirse en un índice
FULLTEXT .
Nota: índices
FULLTEXT deben reconstruirse tras
cambiar estas variables. Use REPAIR TABLE
tbl_name QUICK.
ft_query_expansion_limit
El número de mejores coincidencias a usar en búsquedas full-text
realizadas usando WITH QUERY EXPANSION.
ft_stopword_file
El fichero del que lee la lista de palabras de detención en
búsquedas full-text. Todas las palabras del fichero se usan; los
comentarios no se tienen en
cuenta. Por defecto, se usa una lista de palabras de detención (
como se define en el fichero
myisam/ft_static.c ). Actualizar esta variable con una cadena
vacía ('') desactiva el filtrado de
palabras de detención.
Nota: índices
FULLTEXT deben reconstruirse tras
cambiar esta variable o los contenidos del fichero de palabras de
detención. Use REPAIR TABLE
tbl_name QUICK.
group_concat_max_len
El valor máximo permitido para la longitud del resultado de la
función GROUP_CONCAT().
have_archive
YES si
mysqld soporta tablas ARCHIVE,
NO si no.
have_bdb
YES si
mysqld soporta tablas BDB.
DISABLED si se usa
--skip-bdb.
have_compress
Si está disponible la biblioteca de compresión
zlib en el servidor. Si no lo está, las
funciones COMPRESS() y
UNCOMPRESS() no pueden usarse.
have_crypt
Si la llamada de sistema crypt()
está disponible en el servidor. Si no, la función
CRYPT() no puede usarse.
have_csv
YES si
mysqld soporta tablas ARCHIVE,
NO si no.
have_example_engine
YES si
mysqld soporta tablas EXAMPLE
, NO si no.
have_federated_engine
YES si
mysqld soporta tablas FEDERATED,
NO si no. Esta variable se añadió en
MySQL 5.0.3.
have_geometry
Si el servidor soporta tipos de datos espaciales.
have_innodb
YES si
mysqld soporta tablas InnoDB .
DISABLED si se usa
--skip-innodb.
have_isam
En MySQL 5.0, esto aparece sólo por razones de compatibilidad con
versiones anteriores, y siempre es NO,
ya que no hay soporte para tablas ISAM.
have_ndbcluster
YES si
mysqld soporta tablas NDB Cluster
. DISABLED si se usa
--skip-ndbcluster .
have_openssl
YES si
mysqld soporta SSL (encriptación) del protocolo
cliente/servidor.
have_query_cache
YES si
mysqld soporta la cache de consultas.
have_raid
YES si
mysqld soporta la opción RAID
.
have_rtree_keys
Si los índices RTREE están
disponibles. (Se usan para indexación espacial en tablas
MyISAM.)
have_symlink
Si el soporte para enlaces simbólicos está activado. Es un
requesito en Unix para soporte de las opciones de tabla
DATA DIRECTORY y
INDEX DIRECTORY .
init_connect
Una cadena de carácteres que ejecuta el servidor para cada
cliente que se conecta. La cadena consiste en uno o más comandos
SQL. Para especificar varios comandos, sepárelos con un punto y
coma. Por ejemplo, cada cliente arranca por defecto con modo
autocommit activado. No hay ninguna variable de servidor global para
especificar que autocommit esté desactivado por defecto, pero puede
usar init_connect para conseguir el
mismo efecto:
SET GLOBAL init_connect='SET AUTOCOMMIT=0';
Esta variable puede cambiarse en la línea de comandos o en un
fichero de opciones. Para cambiar la variable tal y como se ha
mostrado usando un fichero de opciones, incluya las siguientes
líneas:
[mysqld]
init_connect='SET AUTOCOMMIT=0'
Tenga en cuenta que el contenido de
init_connect no se ejecuta para usuarios con el privilegio
SUPER; esto es para el caso que el
contenido se haya introducido incorrectamente (contiene una consulta
incorrecta, por ejemplo con un error de sintaxis), haciendo que
todas las conexiones fallen. No ejecutarlo para usuarios
SUPER permite que éstos abran una
conexión y arreglen init_connect.
init_file
El nombre del fichero especificado con la opción
--init-file cuando arranca el servidor.
Este fichero contiene comandos SQL que se ejecutan al arrancar el
servidor. Cada comando debe estar en una única línea y no debe
incluir comentarios.
init_slave
Esta variable es similar a init_connect,
pero es una cadena de carácteres que se ejecuta por parte de un
servidor esclavo cada vez que el thread SQL arranca. El formato de
la cadena de carácteres es el mismo que para la variable
init_connect.
innodb_xxx
Las variables InnoDB de sistema se
listan en
Sección 15.4, ?Opciones de arranque de InnoDB?.
interactive_timeout
El número de segundos que espera el servidor para actividad en
una conexión interactiva antes de cerrarla. Un cliente interactivo
se define como un cliente que usa la opción
CLIENT_INTERACTIVE para
mysql_real_connect(). Consulte también
wait_timeout.
join_buffer_size
El tamaño del buffer que se usa para full joins (joins que no
usan índices). Normalmente la mejor forma de conseguir joins rápidos
es añadir índices. Incrementar el valor de
join_buffer_size para obtener un full join más rápido cuando
se añaden índices no es posible. Un buffer para joins se reserva
para cada full join entre dos tablas. Para un join complejo entre
varias tablas en que sus índices no se usan, buffers para joins
múltiples pueden ser necesarios.
key_buffer_size
Los bloques de índices para tablas MyISAM
y ISAM se guardan en buffers y se
comparten para todos los threads.
key_buffer_size es el tamaño del buffer usado para los
bloques de índices. El key buffer también se conoce como la key
cache.
El tamaño máximo permitido para
key_buffer_size es 4GB. El máximo tamaño efectivo puede ser
menor, dependiendo de la memoria RAM física y los límites por
proceso de RAM impuestos por el sistema operativo o la plataforma
hardware.
Incremente el valor para obtener un mejor tratamiento de índices
(para todas las lecturas y escrituras múltiples) al máximo que pueda
permitirse. El uso de un valor que sea el 25% del total de memoria
en una máquina que principalmente ejecute MySQL es bastante común.
Sin embargo, si el valor es demasiado grande (por ejemplo, más del
50% del total de la memoria) el sistema puede empezar a paginar y
ser extremadamente lento. MySQL confía en el sistema operativo para
tratar el cacheo del sistema de ficheros para las lecturas de datos,
así que debe dejar algún espacio para cachear el sistema de
ficheros.
Para más velocidad al escribir varios registros al mismo tiempo ,
use LOCK TABLES. Consulte
Sección 13.4.5, ?Sintaxis de LOCK TABLES
y UNLOCK TABLES?.
Puede chequear el rendimiento del key buffer con el comando
SHOW STATUS y examinando las variables
de estado Key_read_requests,
Key_reads,
Key_write_requests, y Key_writes
. Consulte
Sección 13.5.4, ?Sintaxis de SHOW?.
El ratio Key_reads/Key_read_requests
normalmente debe ser menor a 0.01. El ratio
Key_writes/Key_write_requests normalmente está cerca de 1 si
usa mayoritariamente actualizaciones y borrados, pero puede ser
mucho menor si tiende a hacer actualizaciones que afecten a muchos
registros al mismo tiempo o si usa la opción de tabla
DELAY_KEY_WRITE .
La fracción del key buffer en uso puede determinarse mediante
key_buffer_size conjuntamente con la
variable de estado Key_blocks_unused y
el tamaño de bloque del buffer. El tamaño de bloque del buffer está
disponible en la variable de servidor
key_cache_block_size . La fracción del buffer en uso es:
1 - ((Key_blocks_unused * key_cache_block_size) / key_buffer_size)
Este valor es una aproximación ya que algún espacio del key
buffer puede estar reservado internamente para estructuras
administrativas.
En MySQL 5.0, es posible crear múltiples key caches para tablas
MyISAM. El límite de tamaño de 4GB se aplica a cada caché
individualmente, no como grupo. Consulte
Sección 7.4.6, ?La caché de claves de MyISAM?.
key_cache_age_threshold
Este valor controla la demotion de buffers desde la sub-cadena
caliente de una key cache a la sub-cadena templada. Los valores más
pequeño provocan que la demotion ocurra más rápidamenet. El valor
mínimo es 100. El valor por defecto es 300. Consulte
Sección 7.4.6, ?La caché de claves de MyISAM?.
key_cache_block_size
El tamaño en bytes de los bloques de la key cache. El valor por
defecto es 1024. Consulte
Sección 7.4.6, ?La caché de claves de MyISAM?.
key_cache_division_limit
El punto de división entre las sub-cadenas calientes y tempaladas
de la cadena del buffer de la key cache. El valor es el porcentaje
de la cadena del buffer para usar en la sub-cadena templada. El
rango de los valores permitidos es de 1 a 100. El valor por defecto
es 100. Consulte
Sección 7.4.6, ?La caché de claves de MyISAM?.
language
El idioma usado para los lenguajes de error.
large_file_support
Si mysqld está compilado con la
opción de soporte para grandes ficheros.
large_pages
Indica si está activado el soporte para páginas grandes. Esta
variable se añadió en MySQL 5.0.3.
license
El tipo de licencia que tiene el servidor.
local_infile
Si LOCAL está soportado para
comandos LOAD DATA INFILE.
locked_in_memory
Si mysqld está bloqueado en
memoria con --memlock.
log
Si el logueo de todas las consultas en el log general de
consultas está activado. Consulte
Sección 5.10.2, ?El registro general de consultas?.
log_bin
Si el log binario está activado. Consulte
Sección 5.10.3, ?El registro binario (Binary Log)?.
- log_bin_trust_routine_creators
Esta variable se aplica cuando el log binario está activado.
Controla si los creadores de rutinas almacenadas son o no de
confianza para crear rutinas almacenadas que escribirán eventos no
seguros en el log binario. Si está a 0 (por defecto), los usuarios
no tienen permiso para crear o cambiar rutinas almacenadas a no ser
que tengan el privilegio SUPER además
del privilegio CREATE ROUTINE o
ALTER ROUTINE .
Asignar el valor 0 fuerza la restricción que una rutina debe
declararse con la característica DETERMINISTIC
, o con las características READS SQL DATA
o NO SQL . Si la variable tiene el
valor 1, MySQL no fuerza esta restricción en la creación de rutinas
almacenadas.
Consulte
Sección 19.3, ?Registro binario de procedimientos almacenados y
disparadores?.
Esta variable se añadió en MySQL 5.0.6.
log_error
La localización del log de errores.
log_slave_updates
Si las actualizaciones recibidas por un servidor esclavo de un
servidor maestro deben loguearse en el log binario del servidor
esclavo. El logueo binario debe estar disponible en el esclavo para
que tenga efecto. Consulte
Sección 6.8, ?Opciones de arranque de replicación?.
log_slow_queries
Si una consulta lenta debe loguearse. ``Lenta'' está determinado
por el valor de la variable long_query_time.
Consulte
Sección 5.10.4, ?El registro de consultas lentas (Slow Query Log)?.
log_warnings
Si produce mensajes de advertencia adicionales. Está activado por
defecto. Las conexiones abortadas no se loguean en el log de error a
no ser que el valor sea mayor a 1.
long_query_time
Si una consulta dura más que este valor en segundos, la variable
de estado Slow_queries se incrementa.
Si está usando la opción --log-slow-queries
, la consulta se loguea en el fichero de log para consultas lentas.
Este valor se mide en tiempo real, no tiempo de CPU, así que una
consulta que esté bajo el umbral en un sistema con poca carga puede
estar por encima del umbral en un sistema con mucha carga. Consulte
Sección 5.10.4, ?El registro de consultas lentas (Slow Query Log)?.
low_priority_updates
Con el valor 1, todos los comandos
INSERT, UPDATE,
DELETE, y LOCK
TABLE WRITE esperan hasta que no hayan pendientes
SELECT o LOCK
TABLE READ en la tabla afectada. Esta variable se llamaba
préviamente sql_low_priority_updates.
lower_case_file_system
Esta variable indica si el sistema de ficheros donde el
directorio de datos está localizado tiene nombres de ficheros no
sensibles a mayúsculas y minúsculas. ON
significa que los nombres del fichero no son sensibles a mayúsculas
y minúsculas, OFF significa que son
sensibles a mayúsculas y minúsculas.
lower_case_table_names
Con el valor 1, los nombres de tablas se almacenan en minúsuculas
en disco y las comparaciones de nombres de tablas no tienen en
cuenta mayúsculas y minúsculas. Esta opción también se aplica a
nombres de bases de datos y alias de tablas. Consulte
Sección 9.2.2, ?Sensibilidad a mayúsuclas y minúsculas de
identificadores?.
Si usa tablas InnoDB , debe asignar
a esta variable el valor 1 en todas las plataformas para forzar que
los nombres se conviertan a minúsculas.
No debe asignar a esta
variable el valor 0 si está ejecutando MySQL en un sistema que no
tiene nombres de ficheros sensibles a mayúsculas y minúsculas (tales
como Windows o Mac OS X). Si esta variable no tiene un valor al
arrancar y el sistema de ficheros donde está localizado el
directorio de datos no tiene nombres de ficheros sensibles a
mayúsculas y minúsculas, MySQL automáticamente asigna a
lower_case_table_names el valor 2.
max_allowed_packet
El tamaño máximo de un paquete o cualquier cadena de carácteres
generada/intermedia.
El buffer de paquetes de mensajes se inicializa a
net_buffer_length bytes, pero puede
crecer hasta max_allowed_packet bytes
cuando sea necesario. Este valor por defecto es pequeño, para
recibir paquetes grandes (posiblemente incorrectos).
Debe incrementar este valor si está usando columnas grandes
BLOB o cadenas de carácteres largas.
Debe ser tan grande como el mayor BLOB
que quiera usar. En MySQL 5.0, el límite del protocolo para
max_allowed_packet es 1GB.
max_binlog_cache_size
Si una transacción con múltiples comandos requiere más que esta
cantidad de memoria, obtiene el error
Multi-statement transaction required more than
'max_binlog_cache_size' bytes of storage.
max_binlog_size
Si una escritura en el log binario excede el valor dado, rota el
log binario. No puede cambiar este valor a más de 1GB o a menos de
4096 bytes. El valor por defecto es 1GB.
Nota en caso que use transacciones: Una transacción se escribe en
un trozo del log binario, así que nunca se trocea entre varios logs
binarios. Por lo tanto, si tiene transacciones grandes, puede ver
logs binarios mayores que max_binlog_size.
Si max_relay_log_size es 0, el valor
de max_binlog_size se aplica a relay
logs también.
max_connect_errors
Si hay más que este número de conexiones interrumpidas de un
equipo, este equipo se bloquea para más conexiones. Puede
desbloquear equipos bloqueados con el comando
FLUSH HOSTS.
max_connections
El número de conexiones de cliente simultáneas permitidas.
Incrementar este valor incrementa el número de descriptores de
fichero que requiere mysqld .
Consulte
Sección 7.4.8, ?Cómo abre y cierra tablas MySQL? para
comentarios sobre límites en los descriptores de fichero. Consulte
también
Sección A.2.6, ?Too many connections?.
max_delayed_threads
No arranque más que este número de threads para tratar comandos
INSERT DELAYED . Si trata de insertar
datos en una nueva tabla después de que todos los threads
INSERT DELAYED estén en uso, el
registro se inserta como si el atributo
DELAYED no se hubiera especificado. Si cambia este valor a 0,
MySQL nunca crea un thread para tratar registros
DELAYED ; en efecto, esto desactiva
DELAYED completamente.
max_error_count
El número máximo de mensajes de error, advertencia, y notas que
se guardan para mostrar con SHOW ERRORS
o SHOW WARNINGS.
max_heap_table_size
Esta variable cambia el máximo valor para el que las tablas
MEMORY (HEAP)
pueden crecer. El valor de la variable se usa para calcular el valor
MAX_ROWS en tablas
MEMORY. Cambiar esta variable no tiene
efecto en ninguna tabla MEMORY
existente, a no ser que la tabla se recree con un comando tal como
CREATE TABLE o
TRUNCATE TABLE, o cambiada con ALTER
TABLE.
max_insert_delayed_threads
Esta variable es sinónimo de
max_delayed_threads.
max_join_size
No permite los comandos SELECT que
probablemente tengan que examinar más de
max_join_size registros (para comandos en una misma tabla) o
combinaciones de registros (para comandos con varias tablas) o que
sea probable que hagan más de max_join_size
búsquedas de disco. Al cambiar este valor, puede cazar los comandos
SELECT donde las claves no se usan
correctamente y que probablemente tardaran mucho tiempo. Cámbielo si
sus usuarios tienden a realizar joins sin una cláusula
WHERE , que tarden mucho tiempo, o que
devuelvan millones de registros.
Al cambiar esta variable a un valor que no sea
DEFAULT resetea el valor de
SQL_BIG_SELECTS a
0. Si cambia el valor SQL_BIG_SELECTS
de nuevo, la variable max_join_size se
ignora.
Si el resultado de una consulta está en la caché de consultas, no
se hace el chequeo del tamaño del resultado, ya que el resultado se
ha computado préviamente y no carga al servidor al enviarlo al
cliente.
Esta variable préviamente se llamaba
sql_max_join_size.
max_length_for_sort_data
El límite en el tamaño del índice que determina qué algoritmo
filesort se usa. Consulte
Sección 7.2.10, ?Cómo optimiza MySQL ORDER BY?.
max_relay_log_size
Si una escritura de un esclavo de replicación a su relay log
excede el valor dado, rota el relay log. Esta variable le permite
poner diferentes restricciones de tamaño en logs binarios y relay
logs. Sin embargo, cambiar la variable a 0 hace que MySQL use
max_binlog_size para el log binario y
el relay log. Debe asignar un valor a
max_relay_log_size entre 4096 bytes y 1GB (incluídos), o 0.
El valor por defecto es 0. Consulte
Sección 6.3, ?Detalles de la implementación de la replicación?.
max_seeks_for_key
Limita el máximo número de búsquedas al buscar registros basados
en una clave. El optimizador de MySQL asume que no se requieren más
que este número de búsquedas de claves al buscar registros en una
tabla al escanear una clave, a pesar de la cardinalidad real de la
clave (consulte
Sección 13.5.4.11, ?Sintaxis de SHOW INDEX?).
Si se pone un valor pequeño (100?), puede forzar a MySQL a que
prefiera claves en lugar de escaneos de tablas.
max_sort_length
Número de bytes que se usan al ordenar valores
BLOB o TEXT
. Sólo los primeros max_sort_length
bytes cada valor se usan; el resto se ignoran.
max_tmp_tables
El número máximo de tablas temporales que un cliente puede
mantener abiertas al mismo tiempo. (Esta opción todavía no hace
nada.)
max_user_connections
El número máximo de conexiones simultáneas permitidas para
cualquier cuenta MySQL dada. Un valor 0 significa ``sin límites.''
Antes de MySQL 5.0.3, esta variable sólo tenía visibilidad
global. A partir de MySQL 5.0.3, también tiene visibilidad para
sesiones de sólo lectura. La variable de sesión tiene el mismo valor
que la variable global a no ser que la cuenta actual tenga un valor
diferente a 0 en el límite de recursos
MAX_USER_CONNECTIONS . En este caso, el valor de sesión
refleja el límite de la cuenta.
max_write_lock_count
Después de varios bloqueos de escritura, permite que algunos
bloqueos de lectura se ejecuten en medio.
multi_read_range
Especifica el máximo número de rangos a enviar a un motor de
almacenamiento durante la selección de rangos. El valor por defecto
es 256. Enviar múltiples rangos a un motor es una característica que
puede mejorar el rendimiento de ciertas selecciones dramáticamente,
particularmente para NDBCLUSTER. Este
motor necesita enviar la petición de rangos a todos los nodos, y
enviar muchas de estas peticiones a la vez reduce el coste de
comunicación significativamente. Esta variable se añadió en MySQL
5.0.3.
myisam_data_pointer_size
El tamaño por defecto para punteros en bytes, para ser usado con
CREATE TABLE para tablas
MyISAM cuando no se especifica la
opción MAX_ROWS . Esta variable no
puede ser menor que 2 ni mayor que 7. El valor por defecto es 4.
Consulte
Sección A.2.11, ?The table is full?.
- (OBSOLETO)
myisam_max_extra_sort_file_size
Si el fichero temporal usado para índexación rápida
MyISAM es mayor que usando la key cache
con la cantidad especificada aquí, se utiliza preferentemente el
método de la key cache. Esto se usa para forzar que las claves
largas de carácteres en grandes tablas usen el método de de key
cache (más lento) para crear el índice. Este valor se da en bytes.
Nota: Esta variable se
eliminó en MySQL 5.0.6.
myisam_max_sort_file_size
El tamaño máximo para tablas temporales que MySQL permite para
recrear un índice MyISAM (durante
REPAIR TABLE,
ALTER TABLE, o LOAD DATA INFILE).
Si el tamaño del fichero fuese mayor que este valor, el índice se
crea usando la key cache en su lugar, lo cual es más lento. El valor
se da en bytes.
myisam_recover_options
El valor para la opción --myisam-recover.
myisam_repair_threads
Si este valor es mayor que 1, los índices de tablas
MyISAM se crean en paralelo (cada
índice en su propio thread) durante el proceso
Repair by sorting . El valor por defecto es 1.
Nota: Reparación
multi-threaded repair todavía es código con calidad
alpha.
myisam_sort_buffer_size
El buffer que se reserva al ordenar índices
MyISAM durante REPAIR TABLE o al
crear índices con CREATE INDEX o
ALTER TABLE.
named_pipe
(Sólo en Windows.) Indica si el servidor soporta conexiones sobre
named pipes.
net_buffer_length
El buffer de comunicación se resetea a este tamaño entre
consultas. Normalmente, debe cambiarse, pero si tiene poca memoria,
puede inicializarse al tamaño esperado para los comandos SQL
enviados por los clientes. Si los comandos exceden este tamaño, el
buffer crece automáticamente, hasta
max_allowed_packet bytes.
net_read_timeout
El número de segundos a esperar más datos de una conexión antes
de abortar la lectura. Cuando el servidor está leyendo del cliente,
net_read_timeout es el valor que
controla el tiempo máximo para abortar. Cuando el servidor está
escribiendo en el cliente, net_write_timeout
es el valor que controla el tiempo máximo para abortar. Consulte
también slave_net_timeout.
net_retry_count
Si una lectura en un puerto de comunicaciones se interrumpe,
reintenta las veces especificadas antes de abandonar. Este valor
debe inicializarse a un valor alto en FreeBSD, ya que las
interrupciones internas se envían a todos los threads.
net_write_timeout
Número de segundos a esperar para que se escriba un bloque en una
conexión antes de abortar la escritura. Consulte también
net_read_timeout.
new
Esta variable se usaba en MySQL 4.0 para activar algunos
comportamientos de la versión 4.1 y se mantiene para compatibilidad
con versiones anteriores. En MySQL 5.0, el valor siempre es
OFF.
old_passwords
Si el servidor debe usar contraseñas estilo anterior a la versión
4.1 para cuentas de usuario de MySQL. Consulte
Sección A.2.3, ?Client does not support
authentication protocol?.
open_files_limit
Número de ficheros que el sistema operativo permite abrir
mysqld . Este es el valor real
permitido por el sistema y puede ser distinto del valor que se da a
mysqld al arrancar. El valor es 0
en sistemas donde MySQL puede cambiar el número de ficheros
abiertos.
optimizer_prune_level
Controla el heurístico aplicado durante la optimización de
consultas para no hacer los planes parciales menos prometedores en
el espacio de búsqueda del optimizador. Un valor de 0 desactiva el
heurístico de forma que el optimizador realiza una búsqueda
exhaustiva. Un valor de 1 provoca que el optimizador elimine planes
basados en el número de registros calculados por planes intermedios.
Esta variable se añadió en MySQL 5.0.1.
optimizer_search_depth
La máxima profundidad de búsqueda realizada por el optimizador de
consultas. Valores mayores que el número de relaciones en una
consulta dan como resultado en mejores planes de consulta, pero
lleva más tiempo generar un plan de ejecución para una consulta. Los
valores menores que el número de relaciones en una consulta retornan
un plan de ejecución más rápido, pero el plan resultante puede estar
lejos de ser el plan óptimo. Si se usa como valor 0, el sistema
automáticamente escoge un valor razonable. Si se asigna como valor
el máximo número de tablas usado en una consulta más 2, el
optimizador cambia al algoritmo usado en MySQL 5.0.0 ( y versiones
anteriores ) para mejorar el rendimiento de las búsquedas. Esta
variable se añadió en MySQL 5.0.1.
pid_file
La ruta al fichero con el ID de proceso (PID). Esta variable
puede cambiarse con la opción --pid-file.
port
El puerto en que escucha el servidor para conexiones TCP/IP. Esta
variable puede cambiarse con la opción --port
.
preload_buffer_size
El tamaño del buffer que se reserva al pre-cargar los índices.
protocol_version
La versión del protocolo cliente/servidor usado por el servidor
MySQL.
query_alloc_block_size
El tamaño de bloques de memoria reservado para objetos creados
durante el parseo y ejecución de consultas. Si tiene problemas con
fragmentación de memoria, puede ayudar incrementar este valor un
poco.
query_cache_limit
No cachea resultados mayores que este número de bytes. El valor
por defecto es 1048576 (1MB).
query_cache_min_res_unit
Tamaño mínimo (en bytes) para bloques reservados en la caché de
consultas. El valor por defecto es 4096 (4KB). Para más información
acerca de optimizar esta variable consulte
Sección 5.12.3, ?Configuración de la caché de consultas?.
query_cache_size
La cantidad de memoria reservada para cachear resultados de
consultas. El valor por defecto es 0, lo que desactiva la cache de
consultas. Tenga en cuenta que la cantidad de memoria se reserva
incluso si query_cache_type tiene como
valor 0. Consulte
Sección 5.12.3, ?Configuración de la caché de consultas? para
más información.
query_cache_type
Cambia el tipo de la caché de consultas. Cambiando el valor
GLOBAL se inicializa el tipo para todos
los clientes que se conecten a partir de ese momento. Clientes
individuales pueden cambiar el valor SESSION
para afectar a su propio uso de la caché de consultas. Los posibles
valores se muestran en la siguiente tabla:
En MySQL 5.0, el valor por defecto de esta variable es
ON.
query_cache_wlock_invalidate
Normalmente, cuando un cliente adquiere un bloqueo
WRITE en una tabla
MyISAM , el resto de clientes no se
bloquean para consultas cuyo resultado esté presente en la caché
para consultas. Cambiando el valor de esta variable a 1 provoca que
la adquisición de una tabla mediante un bloqueo
WRITE invalida cualquier consulta en la
caché de consultas que se refiera a la tabla. Esto fuerza a que
otros clientes que traten de acceder a la tabla esperen mientras el
bloqueo esté activo.
query_prealloc_size
El tamaño del buffer persistente usado para parsear y ejecutar
consultas. Este buffer no se libera entre consultas. Si está
ejecutando consultas complejas, un valor mayor de
query_prealloc_size puede ser de
utilidad para mejorar el rendimiento, ya que puede reducir la
necesidad del servidor de realizar reserva de memoria durante las
operaciones de ejecución de consultas.
range_alloc_block_size
El tamaño de los bloques que se reservan en la optimización de
rango.
read_buffer_size
Cada thread que realiza un escaneo secuencial reserva un buffer
de su tamaño (en bytes) para cada tabla que escanea. Si realiza
muchos escaneos secuenciales, puede incrementar este valor, que por
defecto es 131072.
read_only
Cuando una variable tiene el valor ON
para un servidor esclavo de replicación, esto causa que el esclavo
no permita actualizaciones excepto de threads de esclavos o de
usuarios con el privilegio SUPER. Esto
puede ser útil para asegurar que un servidor esclavo no acepte
actualizaciones de los clientes.
relay_log_purge
Desactiva o activa el purgado automático de los relay logs tan
pronto como no se necesitan. El valor por defecto es 1 (activado).
read_rnd_buffer_size
Cuando se leen registros ordenadamante tras una ordenación, los
registros se leen a través de su buffer para evitar búsquedas en
disco. Asignar a esta variable un valor mayor puede mejorar mucho el
rendimiento de ORDER BY. Sin embargo,
hay un buffer para cada cliente, así que no debe asignar un valor
grande a la variable global. En lugar de ello, cambie la variable de
sesión sólo en los clientes que necesiten ejecutar grandes
consultas.
secure_auth
Si el servidor MySQL ha arrancado con la opción
--secure-auth , bloquea conexiones de
todas las cuentas que tengan las contraseñas almacenadas en el
formato antiguo (anterior a 4.1). En ese caso, el valor de esta
variable es ON, en el contrario es
OFF.
Debe activar esta opción si quiere evitar todo uso de contraseñas
en el viejo formato (y por lo tanto comunicación insegura en la
red).
El arranque del servidor falla con un error si esta opción está
activada y la tablas de privilegios están en formato anterior a 4.1.
Consulte
Sección A.2.3, ?Client does not support
authentication protocol?.
Cuando se usa como una opción del lado del cliente, el cliente
rehúsa conectar a un servidor si el servidor requiere contraseña en
el viejo formato para la cuenta del cliente.
server_id
El valor de la opción --server-id .
Se usa para servidores de replicación maestros y esclavos.
shared_memory
(Sólo en Windows.) Si el cliente permite conexiones a través de
memoria compartida o no.
shared_memory_base_name
(Sólo en Windows.) Indica si el servidor permite conexiones a
través de memoria compartida, e indica el identificador para memoria
compartida. Esto es útil al ejecutar varias instancias de MySQL en
una única máquina física.
skip_external_locking
Está OFF si
mysqld usa bloqueo externo.
skip_networking
Está ON si el servidor permite sólo
conexiones locales (no TCP/IP). En Unix, las conexiones locales usan
un fichero socket de Unix. En Windows, las conexiones locales usan
named pipes o memoria compartida. En NetWare, sólo se soportan
conexiones TCP/IP, así que no asigne a esta variable el valor
ON.
skip_show_database
Evita que se use el comando SHOW DATABASES
sin tener el privilegio SHOW DATABASES
. Esto puede mejorar la seguridad si le preocupa que los usuarios
puedan ver las bases de datos pertenecientes a otros usuarios. En
MySQL 5.0, su efecto depende del privilegio
SHOW DATABASES: Si el valor de la variable es
ON, el comando
SHOW DATABASES está permitido sólo para usuarios que tengan
el privilegio SHOW DATABASES , y el
comando muestra todos los nombres de bases de datos. Si el valor es
OFF, SHOW
DATABASES se permite para todos los usuarios, pero sólo
muestra los nombres de bases de datos que el usuario tenga el
permiso SHOW DATABASES u otros
privilegios.
slave_compressed_protocol
Si usa compresión en el protocolo maestro/servidor si ambos lo
soportan.
slave_load_tmpdir
El nombre del directorio donde el esclavo crea ficheros
temporales para replicar el comando LOAD DATA
INFILE.
slave_net_timeout
Número de segundos a esperar para más datos en una conexión
maestro/ servidor antes de abortar la lectura.
slave_skip_errors
Los errores de replicación que el esclavo debe dejar pasar
(ignorar).
slow_launch_time
Si la creación de un thread toma más de los segundos
especificados por esta variable, el sevidor incrementa la variable
de estado Slow_launch_threads .
socket
Plataformas Unix: El
fichero socket usado para conexiones clientes locales. Por defecto
/var/lib/mysql/mysql.sock.
Windows: El nombre del
named pipe usado para conexiones cliente locales. Por defecto
mysql.
sort_buffer_size
Cada thread que necesita una ordenación reserva un buffer de su
tamaño. El incremento de este valor permite acelerar las operaciones
ORDER BY o GROUP
BY . Consulte
Sección A.4.4, ?Dónde almacena MySQL los archivos temporales?.
sql_mode
El modo del servidor SQL, que en MySQL 5.0 puede cambiarse
dinámicamente. Consulte
Sección 5.3.2, ?El modo SQL del servidor?.
sql_slave_skip_counter
El número de eventos del maestro que el servidor esclavo debe
ignorar.
storage_engine
Esta variable es un sinónimo de table_type.
En MySQL 5.0, storage_engine es el
nombre preferido.
sync_binlog
Si es positivo, el servidor MySQL sincroniza su log binario a
disco (fdatasync()) después de cada
escritura sync_binlog en su log
binario. Tenga en cuenta que sólo hay una escritura en el log
binario por comando si está en modo autocommit, y de otra forma una
escritura por transacción. El valor por defecto es 0 lo que no
sincroniza con disco. Un valor de 1 es la elección más segura, ya
que en caso de error se pierden como mucho un comando/transacción
del log binario; de todas formas, también es el valor más bajo (a no
ser que el disco tenga una caché de batería, lo que hace la
sincronización muy rápida).
sync_frm
Si esta variable se asigna a 1, cuando se crea una tabla no
temporal su fichero .frm se sincroniza
a disco (fdatasync()); esto es lo más
lento pero más seguro en caso de un error. El valor por defecto es
1.
system_time_zone
La zona horaria del servidor. Cuando el sevidor comienza la
ejecución, hereda unos valores de zona horaria de los valores por
defecto de la máquina, posiblemente modificados por el entorno de la
cuenta usado para ejecutar el servidor o el script de arranque. El
valor se usa para asignar system_time_zone.
Normalmente la zona horaria se especifica con la variable de entorno
TZ. También puede especificarse usando
la opción --timezone del script
mysqld_safe .
table_cache
El número de tablas abiertas por todos los threads. Incrementar
este valor incrementa el número de descriptores de ficheros que
requiere mysqld . Puede chequear si
necesita incrementar la caché de la tabla chequeando la variable de
estado Opened_tables . Consulte
Sección 5.3.4, ?Variables de estado del servidor?. Si el valor
de Opened_tables es grande y no quiere
hacer muchos FLUSH TABLES (lo que
fuerza a cerrar y reabrir todas las tablas), entonces debe
incrementar el valor de la variable
table_cache .
Para más información sobre la cache de la tabla, consulte
Sección 7.4.8, ?Cómo abre y cierra tablas MySQL?.
table_type
El tipo de tabla por defecto (motor de almacenamiento). Para
cambiar el tipo de tabla en el arranque del servidor, use la opción
--default-table-type. Consulte
Sección 5.3.1, ?Opciones del comando mysqld?.
thread_cache_size
El número de threads que el servidor debe cachear para reusar.
Cuando un cliente desconecta, los threads de clientes se ponen en la
caché si hay menos de thread_cache_size
threads. Peticiones de threads se sirven reusando threads tomados de
la caché cuando es posible. Esta variable puede incrementarse para
mejorar el rendimiento si tiene muchas nuevas conexiones.
(Normalmente esto no da una mejora notable de rendimiento si tiene
una buena implementación de threads.) Mediante el estudio de las
diferencias entre las variables de estado
Connections y Threads_created
(consulte
Sección 5.3.4, ?Variables de estado del servidor? para más
detalles) puede ver lo eficiente que es la caché de threads.
thread_concurrency
En Solaris, mysqld llama a
thr_setconcurrency() con este valor.
Esta función permite a las aplicaciones dar al sistema de threads
una piesta sobre el número deseado de threads que deben ejecutarse
simultáneamente.
thread_stack
El tamaño de la pila para cada thread. Muchos de los límites
detectados por el test crash-me
dependen de este valor. El valor por defecto es lo suficientemente
grande para un funcionamiento normal. Consulte
Sección 7.1.4, ?El paquete de pruebas de rendimiento (benchmarks) de
MySQL?.
time_zone
La zona horaria. El valor inical de este
'SYSTEMA' (usa el valor de
system_time_zone), pero puede especificarse explícitamente al
arrancar el servidor con la opción
--default-time-zone .
tmp_table_size
Si una tabla temporal en memoria excede este tamaño, MySQL la
convierte automáticamente en una tabla en disco de tipo
MyISAM. Incremente el valor de
tmp_table_size si realiza muchas
consultas avanzadas GROUP BY y tiene
mucha memoria disponible.
tmpdir
El directorio usado para ficheros y tablas temporales. Esta
variable puede tomar una lista de diferentes paths usados con una
política round-robin. Estos paths pueden separarse mediante dos
puntos (':') en Unix y punto y coma (';')
en Windows, NetWare, y OS/2.
Esta característica puede usarse para repartir la carga entre
varios discos físicos. Si el servidor MySQL actúa como un esclavo de
replicación, no debe asignar tmpdir un
valor que apunte a un directorio en un sistema de ficheros en
memoria o a un directorio que se borre cada vez que el servidor
reinicie. Un esclavo de replicación necesita que algunos de sus
ficheros temporales sobrevivan a un reinicio de servidor de forma
que pueeda replicar tablas temporales u operaciones
LOAD DATA INFILE . Si los ficheros en
un directorio de ficheros temporales se pierden cuando reinicia el
servidor, la replicación falla.
transaction_alloc_block_size
El tamaño reservado (en bytes) de bloques de memoria que se
reservan para almacenar consultas que son partes de una transacción
que debe ser guardad en el log binario al hacer un commit.
transaction_prealloc_size
Tamaño en bytes del buffer persistente para
transaction_alloc_blocks que no se libera entre consultas.
Haciéndolo lo suficientemente grande para guardar todas las
consultas dentro de una única transacción, puede evitar varias
llamadas malloc() .
tx_isolation
El nivel de aislamiento de transacción por defecto. Por defecto
es REPEATABLE-READ.
updatable_views_with_limit
Esta variable controla si las actualizaciones pueden hacerse
usando una vista que no contenga una clave primária en la tabla
subyacente, si la actualización contiene una cláusula
LIMIT . (Tales actualizaciones
normalmente las generan herramientas GUI.) Una actualización es un
comando UPDATE o
DELETE.Clave primaria se refiere a un índice
PRIMARY KEY, o
UNIQUE en el que ninguna columna puede contener
NULL.
La variable puede tener dos valores:
1 o
YES: Muestra sólo una advertencia (no un mensaje de
error). Este es el valor por defecto.
0 o
NO: Prohibe la actualización.
Esta variable se añadió en MySQL 5.0.2.
version
El número de versión para el servidor.
version_bdb
La versión del motor de almacenamiento BDB.
version_comment
El script configure tiene una
opción --with-comment que permite
especificar un comentario al compilar MySQL. Esta variable contiene
el valor de dicho comentario.
version_compile_machine
El tipo de máquina o arquitectura en el que se compiló MySQL.
version_compile_os
El tipo de sistema operativo en el que se compiló MySQL.
wait_timeout
Número de segundos que el servidor espera para recibir actividad
en una conexión no interactiva antes de cerrarla.
En el arranque de un thread, el valor de la variable de sesión
wait_timeout se inicializa de la
variable global wait_timeout o de
interactive_timeout , dependiendo del
tipo de cliente (como se define en la opción de conexión
CLIENT_INTERACTIVE de
mysql_real_connect()). Consulte también
interactive_timeout.