Variables de sistema del servidor mysql 5x

El servidor mantiene varias variables de sistema que indican cómo está
configurado. Todas ellas tienen valores por defecto. Pueden cambiarse al
arrancar el servidor usando opciones en la línea de comandos o en ficheros
de opciones. La mayoría de ellos pueden cambiarse en tiempo de ejecución
usando el comando SET.


El servidor mysqld mantiene dos clases
de variables. Las variables globales afectan las operaciones globales del
servidor. Las variables de sesión afectan las operaciones para conexiones
individuales de clientes.


Cuando el servidor arranca, inicializa todas las variables globales a sus
valores por defecto. Estos valores pueden cambiarse con las opciones
especificadas en los ficheros de opciones o en la línea de comandos. Una vez
que el servidor arranca, aquellas variables globales que sean dinámicas
pueden cambiarse conectando al servidor y ejectuando el comando
SET GLOBAL var_name.
Para cambiar una variable global, debe tener el privilegio
SUPER.


El servidor mantiene un conjunto de variables de sesión para cada cliente
que se conecta. Las variables de sesión del cliente se inicializan en tiempo
de conexión usando los valores actuales de las correspondientes variables
globales. Para aquellas variables de sesión que son dinámicas, el cliente
puede cambiarlas mediante un comando SET SESSION
var_name
. Cambiar una
variable de sesión no necesita privilegios especiales, pero un cliente puede
cambiar sólo sus variables de sesión, no las de ningún otro cliente.


Un cambio de una variable global es visible para cualquier cliente que
acceda a esa variable global. Sin embargo, esto afecta a las
correspondientes variables de sesión que se inicializan por la variable
global sólo para clientes que se conecten después del cambio. Esto no afecta
las variables de sesión para cualquier cliente que ya esté conectado
(tampoco para los clientes que ejecuten el comando SET
GLOBAL
).


Cuando se cambia una variable usando las opciones de arranque, los
valores de la variable pueden darse con un sufijo K,
M, o G para
indicar kilobytes, megabytes, o gigabytes, respectivamente. Por ejemplo, el
siguiente comando arranca el servidor con un tamaño de key buffer de 16
megabytes:


mysqld --key_buffer_size=16M


No importa que los sufijos se escriban en mayúscula o minúscula;
16M y 16m son
equivalentes.


En tiempo de ejecución, use el comando SET
para cambiar las variables de sistema. En este contexto, los sufijos no
pueden usarse, pero el valor puede tomar la forma de una expresión:


mysql> SET sort_buffer_size = 10 * 1024 * 1024;


Para espeficicar explícitamente si desea cambiar la variable global o de
sesión use la opción GLOBAL o
SESSION:


mysql> SET GLOBAL sort_buffer_size = 10 * 1024 * 1024;

mysql> SET SESSION sort_buffer_size = 10 * 1024 * 1024;

Sin dicha opción, el comando actualiza la variable de sesión.


Las variables que pueden cambiarse en tiempo de ejecución se listan en

Sección 5.3.3.1, ?Variables de sistema dinámicas?
.


Si desea restringir el valor máximo que puede tomar una variable de
sistema con el comando SET , puede
especificarlo con --maximum-var_name
en el arranque del servidor. Por ejemplo, para evitar que el valor de
query_cache_size se incremente por encima de
32MB en tiempo de ejecución, use la opción
--maximum-query_cache_size=32M
.


Puede consultar las variables de sistema y sus valores usando el comando
SHOW VARIABLES . Consulte

Sección 9.4, ?Variables de sistema?
para más información.


mysql> SHOW VARIABLES;

+---------------------------------+---------------------------------------------------------+
| Variable_name | Value |
+---------------------------------+---------------------------------------------------------+
| auto_increment_increment | 1 |
| auto_increment_offset | 1 |
| automatic_sp_privileges | ON |
| back_log | 50 |
| basedir | / |
| bdb_cache_size | 8388600 |
| bdb_home | /var/lib/mysql/ |
| bdb_log_buffer_size | 32768 |
| bdb_logdir | |
| bdb_max_lock | 10000 |
| bdb_shared_data | OFF |
| bdb_tmpdir | /tmp/ |
| binlog_cache_size | 32768 |
| bulk_insert_buffer_size | 8388608 |
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | latin1 |
| character_set_results | latin1 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
| collation_connection | latin1_swedish_ci |
| collation_database | latin1_swedish_ci |
| collation_server | latin1_swedish_ci |
| completion_type | 0 |
| concurrent_insert | 1 |
| connect_timeout | 5 |
| datadir | /var/lib/mysql/ |
| date_format | %Y-%m-%d |
| datetime_format | %Y-%m-%d %H:%i:%s |
| div_precision_increment | 4 |
| default_week_format | 0 |
| delay_key_write | ON |
| delayed_insert_limit | 100 |
| delayed_insert_timeout | 300 |
| delayed_queue_size | 1000 |
| expire_logs_days | 0 |
| flush | OFF |
| flush_time | 0 |
| ft_boolean_syntax | + -><()~*:""&| |
| ft_max_word_len | 84 |
| ft_min_word_len | 4 |
| ft_query_expansion_limit | 20 |
| ft_stopword_file | (built-in) |
| group_concat_max_len | 1024 |
| have_archive | NO |
| have_bdb | YES |
| have_blackhole_engine | YES |
| have_compress | YES |
| have_crypt | YES |
| have_csv | YES |
| have_example_engine | YES |
| have_federated_engine | YES |
| have_geometry | YES |
| have_innodb | YES |
| have_isam | NO |
| have_ndbcluster | DISABLED |
| have_openssl | NO |
| have_query_cache | YES |
| have_raid | NO |
| have_rtree_keys | YES |
| have_symlink | YES |
| init_connect | |
| init_file | |
| init_slave | |
| innodb_additional_mem_pool_size | 1048576 |
| innodb_autoextend_increment | 8 |
| innodb_buffer_pool_awe_mem_mb | 0 |
| innodb_buffer_pool_size | 8388608 |
| innodb_checksums | ON |
| innodb_concurrency_tickets | 500 |
| innodb_data_file_path | ibdata1:10M:autoextend |
| innodb_data_home_dir | |
| innodb_doublewrite | ON |
| innodb_fast_shutdown | 1 |
| innodb_file_io_threads | 4 |
| innodb_file_per_table | OFF |
| innodb_flush_log_at_trx_commit | 1 |
| innodb_flush_method | |
| innodb_force_recovery | 0 |
| innodb_lock_wait_timeout | 50 |
| innodb_locks_unsafe_for_binlog | OFF |
| innodb_log_arch_dir | |
| innodb_log_archive | OFF |
| innodb_log_buffer_size | 1048576 |
| innodb_log_file_size | 5242880 |
| innodb_log_files_in_group | 2 |
| innodb_log_group_home_dir | ./ |
| innodb_max_dirty_pages_pct | 90 |
| innodb_max_purge_lag | 0 |
| innodb_mirrored_log_groups | 1 |
| innodb_open_files | 300 |
| innodb_sync_spin_loops | 20 |
| innodb_table_locks | ON |
| innodb_support_xa | ON |
| innodb_thread_concurrency | 8 |
| innodb_thread_sleep_delay | 10000 |
| interactive_timeout | 28800 |
| join_buffer_size | 131072 |
| key_buffer_size | 8388600 |
| key_cache_age_threshold | 300 |
| key_cache_block_size | 1024 |
| key_cache_division_limit | 100 |
| language | /usr/share/mysql/english/ |
| large_files_support | ON |
| large_pages | OFF |
| large_page_size | 0 |
| license | GPL |
| local_infile | ON |
| locked_in_memory | OFF |
| log | OFF |
| log_bin | OFF |
| log_bin_trust_routine_creators | OFF |
| log_error | |
| log_slave_updates | OFF |
| log_slow_queries | OFF |
| log_warnings | 1 |
| long_query_time | 10 |
| low_priority_updates | OFF |
| lower_case_file_system | OFF |
| lower_case_table_names | 0 |
| max_allowed_packet | 1048576 |
| max_binlog_cache_size | 4294967295 |
| max_binlog_size | 1073741824 |
| max_connect_errors | 10 |
| max_connections | 100 |
| max_delayed_threads | 20 |
| max_error_count | 64 |
| max_heap_table_size | 16777216 |
| max_insert_delayed_threads | 20 |
| max_join_size | 4294967295 |
| max_length_for_sort_data | 1024 |
| max_relay_log_size | 0 |
| max_seeks_for_key | 4294967295 |
| max_sort_length | 1024 |
| max_tmp_tables | 32 |
| max_user_connections | 0 |
| max_write_lock_count | 4294967295 |
| multi_range_count | 256 |
| myisam_data_pointer_size | 6 |
| myisam_max_sort_file_size | 2147483647 |
| myisam_recover_options | OFF |
| myisam_repair_threads | 1 |
| myisam_sort_buffer_size | 8388608 |
| engine_condition_pushdown | OFF |
| ndb_autoincrement_prefetch_sz | 32 |
| ndb_force_send | ON |
| ndb_use_exact_count | ON |
| ndb_use_transactions | ON |
| ndb_cache_check_time | 0 |
| net_buffer_length | 16384 |
| net_read_timeout | 30 |
| net_retry_count | 10 |
| net_write_timeout | 60 |
| new | OFF |
| old_passwords | OFF |
| open_files_limit | 1024 |
| optimizer_prune_level | 1 |
| optimizer_search_depth | 62 |
| pid_file | /var/lib/mysql/gigan.pid |
| port | 3306 |
| preload_buffer_size | 32768 |
| protocol_version | 10 |
| query_alloc_block_size | 8192 |
| query_cache_limit | 1048576 |
| query_cache_min_res_unit | 4096 |
| query_cache_size | 0 |
| query_cache_type | ON |
| query_cache_wlock_invalidate | OFF |
| query_prealloc_size | 8192 |
| range_alloc_block_size | 2048 |
| read_buffer_size | 131072 |
| read_only | OFF |
| read_rnd_buffer_size | 262144 |
| relay_log_purge | ON |
| relay_log_space_limit | 0 |
| rpl_recovery_rank | 0 |
| secure_auth | OFF |
| server_id | 0 |
| skip_external_locking | ON |
| skip_networking | OFF |
| skip_show_database | OFF |
| slave_compressed_protocol | OFF |
| slave_load_tmpdir | /tmp/ |
| slave_net_timeout | 3600 |
| slave_skip_errors | OFF |
| slave_transaction_retries | 10 |
| slow_launch_time | 2 |
| socket | /var/lib/mysql/mysql.sock |
| sort_buffer_size | 2097144 |
| sql_mode | |
| storage_engine | MyISAM |
| sql_notes | OFF |
| sql_warnings | OFF |
| sync_binlog | 0 |
| sync_replication | 0 |
| sync_replication_slave_id | 0 |
| sync_replication_timeout | 10 |
| sync_frm | ON |
| system_time_zone | EST |
| table_cache | 64 |
| table_type | MyISAM |
| thread_cache_size | 0 |
| thread_stack | 196608 |
| time_format | %H:%i:%s |
| time_zone | SYSTEM |
| timed_mutexes | OFF |
| tmp_table_size | 33554432 |
| tmpdir | |
| transaction_alloc_block_size | 8192 |
| transaction_prealloc_size | 4096 |
| tx_isolation | REPEATABLE-READ |
| updatable_views_with_limit | YES |
| version | 5.0.7-beta-Max |
| version_bdb | Sleepycat Software: Berkeley DB 4.1.24: (June 11, 2005) |
| version_comment | MySQL Community Edition - Max (GPL) |
| version_compile_machine | i686 |
| version_compile_os | pc-linux-gnu |
| wait_timeout | 28800 |
+---------------------------------+---------------------------------------------------------+
219 rows in set (0.00 sec)



La mayoría de variables de sistema se describen aquí. Las variables sin
versión indican que están presentes en todas las versiones de MySQL 5.0.
Para información histórica acerca de sus implementaciones, consulte
Manual de referencia de MySQL 4.1. Las variables
de sistema InnoDB están listadas en

Sección 15.4, ?Opciones de arranque de InnoDB?
.


Los valores para tamaños de buffer, longitudes y tamaño de pila se dan en
bytes a no ser que se especifique otra unidad.


Información sobre el ajuste de estas variables se encuentra en

Sección 7.5.2, ?Afinar parámetros del servidor?
.




  • 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:



    Valor Descripción
    0 Off
    1 (Defecto) Permite inserciones concurrentes para
    tablas MyISAM que no tienen agujeros
    2 Permite inserciones concurrentes para todas las
    tablas MyISAM. Si la tabla tiene un agujeroy está en uso
    por otro thread el nuevo registro se insertará al final
    de la tabla. Si la tabla no está en uso, MySQL hará un
    bloqueo de lectura normal e insertará el registro en el
    agujero.




  • 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
    .



    Opción Descrición
    OFF DELAY_KEY_WRITE se
    ignora.
    ON MySQL activa la opción
    DELAY_KEY_WRITE
    para CREATE
    TABLE
    . Este es el valor por defecto.
    ALL Todas las nuevas tablas abiertas se tratan como si
    se hubieran creado con la opción
    DELAY_KEY_WRITE
    activada.


    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

  • 0 istifadəçi bunu faydalı hesab edir
Bu cavab sizə kömək etdi?

Uyğun məqalələr

Primeros pasos en mysql

Este capítulo le brinda una introducción de aprendizaje a MySQL, a través del uso de mysql, el...

Variables de estado del servidor

El servidor mantiene muchas variables de estado que proveen de información sobre sus...

Los ficheros de registro (log) de MySQL

MySQL tiene varios archivos de registro diferentes que pueden ayudarle a encontrar lo que...

Conexiones mysql remotas lentas, unauthenticated user

Una vez comprobadas las conexiones, son correctas entre la maquina cliente y servidor, observamos...