:: DEVELOPER ZONE
Le serveur entretient de nombreuses variables système qui indiquent
comment il est configuré. Toutes les variables ont des valeurs par défaut.
Elles peuvent être configuré au lancement du serveur, avec les options
de ligne de commande, ou bien durant l'exécution, avec la commande
SET.
Depuis MySQL version 4.0.3, le serveur mysqld entretient deux types
de variables. Les variables globales, qui affectent les opérations
générales du serveur. Et les variables de session qui affectent les
comportements individuels des connexions.
Lorsque mysqld démarre, toutes les variables globales sont initialisées à partir
des arguments passés en ligne de commande et des fichiers de configuration.
Vous pouvez changer ces valeurs avec la commande SET GLOBAL.
Lorsqu'un nouveau thread est créé, les variables spécifiques aux threads sont initialisées
à partir des variables globales et ne changeront pas même si vous utilisez la commande
SET GLOBAL var_name. Pour changer une variable globale, vous devez
avoir les droits de SUPER.
Le serveur entretient aussi un jeu de variables de session pour chaque
client qui se connecte. Les variables de session du serveur sont initialisées
au moment de la connexion, en utilisant les valeurs correspondantes des
variables globales. Pour les variables de session qui sont dynamiques,
le client peut les changer avec la commande SET SESSION var_name.
Modifier une variable de session ne requiert aucun droit spécifique, mais
le client ne modifiera le comportement du serveur que pour sa connexion,
et non pour les connexions des autres.
Une modification de variable globale est visible par tous les clients qui
accèdent aux variables globales. Cependant, elle n'affectera les connexions
des clients que pour les nouvelles connexions. Les variables de sessions
déjà en court continueront à fonctionner avec la même configuration, jusqu'à
leur déconnexion. Même le client qui a émis la commande SET GLOBAL
ne verra aucun changement.
Lorsque vous modifiez une variable avec une option de démarrage, les valeurs
de variables peuvent être spécifiées avec le suffixe K, M ou
G, pour indiquer des kilo-octets, des megaoctets ou des gigaoctets.
Par exemple, pour lancer le serveur avec une taille de buffer de clé de
16 Mo, vous pouvez utiliser :
mysqld --key_buffer_size=16M
Avant MySQL 4.0, vous deviez utiliser la syntaxe suivante :
mysqld --set-variable=key_buffer_size=16M
La lettre de suffixe peut être en majuscule ou en minuscule :
16M et 16m sont équivalents.
Durant l'exécution, utilisez la commande SET pour donner de nouvelles
valeurs aux variables système. Dans ce contexte, les lettres de suffixes ne
pourront pas être utilisées. Leur valeur peut être calculée avec l'expression
suivante :
mysql> SET sort_buffer_size = 10 * 1024 * 1024;
Pour spécifier explicitement si vous voulez modifier une variable globale ou
une variable de session, utilisez les options GLOBAL et SESSION :
mysql> SET GLOBAL sort_buffer_size = 10 * 1024 * 1024; mysql> SET SESSION sort_buffer_size = 10 * 1024 * 1024;
Si cette option est omise, la variable de session sera modifiée.
Les variables qui peuvent être modifiées durant l'exécution sont listées dans la section Section 5.2.3.1, « Variables système dynamiques ».
Si vous voulez restreindre le maximum possible d'une variable système,
modifiée avec SET, vous pouvez spécifier ce maximum avec les options
de la forme --maximum-var_name au lancement du serveur. Par exemple,
pour éviter que la valeur de query_cache_size dépasse 32 Mo,
utilisez l'option --maximum-query_cache_size=32M. Cette fonctionnalité
est disponible depuis MySQL 4.0.2.
Vous pouvez découvrir les variables système et leur valeur avec
la commande SHOW VARIABLES.
Voyez Section 10.4, « Variables système » pour plus d'informations.
mysql> SHOW VARIABLES; +---------------------------------+------------------------------+ | Variable_name | Value | +---------------------------------+------------------------------| | back_log | 50 | | basedir | /usr/local/mysql | | bdb_cache_size | 8388572 | | bdb_home | /usr/local/mysql | | bdb_log_buffer_size | 32768 | | bdb_logdir | | | bdb_max_lock | 10000 | | bdb_shared_data | OFF | | bdb_tmpdir | /tmp/ | | bdb_version | Sleepycat Software: ... | | binlog_cache_size | 32768 | | bulk_insert_buffer_size | 8388608 | | character_set | latin1 | | character_sets | latin1 big5 czech euc_kr | | concurrent_insert | ON | | connect_timeout | 5 | | convert_character_set | | | datadir | /usr/local/mysql/data/ | | default_week_format | 0 | | delay_key_write | ON | | delayed_insert_limit | 100 | | delayed_insert_timeout | 300 | | delayed_queue_size | 1000 | | 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) | | have_bdb | YES | | have_innodb | YES | | have_isam | YES | | have_openssl | YES | | have_query_cache | YES | | have_raid | NO | | have_symlink | DISABLED | | init_file | | | innodb_additional_mem_pool_size | 1048576 | | innodb_buffer_pool_size | 8388608 | | innodb_data_file_path | ibdata1:10M:autoextend | | innodb_data_home_dir | | | innodb_fast_shutdown | ON | | innodb_file_io_threads | 4 | | innodb_flush_log_at_trx_commit | 1 | | innodb_flush_method | | | innodb_force_recovery | 0 | | innodb_lock_wait_timeout | 50 | | 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_mirrored_log_groups | 1 | | innodb_thread_concurrency | 8 | | interactive_timeout | 28800 | | join_buffer_size | 131072 | | key_buffer_size | 16773120 | | key_cache_age_threshold | 300 | | key_cache_block_size | 1024 | | key_cache_division_limit | 100 | | language | /usr/local/mysql/share/... | | large_files_support | ON | | local_infile | ON | | locked_in_memory | OFF | | log | OFF | | log_bin | OFF | | log_slave_updates | OFF | | log_slow_queries | OFF | | log_update | OFF | | log_warnings | OFF | | long_query_time | 10 | | low_priority_updates | OFF | | lower_case_table_names | 0 | | max_allowed_packet | 1047552 | | 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_join_size | 4294967295 | | max_relay_log_size | 0 | | max_sort_length | 1024 | | max_tmp_tables | 32 | | max_user_connections | 0 | | max_write_lock_count | 4294967295 | | myisam_max_extra_sort_file_size | 268435456 | | myisam_max_sort_file_size | 2147483647 | | myisam_recover_options | force | | myisam_repair_threads | 1 | | myisam_sort_buffer_size | 8388608 | | net_buffer_length | 16384 | | net_read_timeout | 30 | | net_retry_count | 10 | | net_write_timeout | 60 | | open_files_limit | 1024 | | pid_file | /usr/local/mysql/name.pid | | port | 3306 | | protocol_version | 10 | | query_cache_limit | 1048576 | | query_cache_size | 0 | | query_cache_type | ON | | read_buffer_size | 131072 | | read_rnd_buffer_size | 262144 | | rpl_recovery_rank | 0 | | server_id | 0 | | skip_external_locking | ON | | skip_networking | OFF | | skip_show_database | OFF | | slave_net_timeout | 3600 | | slow_launch_time | 2 | | socket | /tmp/mysql.sock | | sort_buffer_size | 2097116 | | sql_mode | | | table_cache | 64 | | table_type | MYISAM | | thread_cache_size | 3 | | thread_stack | 131072 | | timezone | EEST | | tmp_table_size | 33554432 | | tmpdir | /tmp/:/mnt/hd2/tmp/ | | tx_isolation | READ-COMMITTED | | version | 4.0.4-beta | | wait_timeout | 28800 | +---------------------------------+------------------------------+
La plupart des variables système sont présentées ici.
Les variables sans version sont présente depuis MySQL 3.22.
Les variables système InnoDB sont listées dans
Section 16.5, « Options de démarrage InnoDB ».
Les valeurs pour les tailles de buffer, longueur et taille de pile sont données en octets, à moins que cela ne soit spécifié autrement.
Les informations sur le choix des valeurs de ces paramètres est disponible dans Section 7.5.2, « Réglage des paramètres du serveur ».
ansi_mode
Vaut ON si mysqld a été démarré en mode --ansi.
See Section 1.8.3, « Exécuter MySQL en mode ANSI ».
Cette variable a été ajoutée en MySQL 3.23.6 et supprimée en 3.23.41.
Voyez la description de sql_mode.
back_log
Le nombre de connexions sortantes que MySQL peut supporter. Cette valeur
entre en jeu lorsque le thread principal MySQL re¸oit de très
nombreuses requêtes de connexions en très peu de temps. MySQL prend un peu de
temps (même si c'est très peu de temps), pour vérifier la connexion et
démarrer un nouveau thread. La valeur de back_log indique combien de
requête seront mises en attente durant ce temps. Vous devrez augmenter ce nombre
si vous voulez mettre en attente plus de requêtes durant une courte période de temps.
En d'autres termes, cette valeur est la taille de la queue d'attente pour
les connexions TCP/IP entrantes. Votre système d'exploitation a ses propres
limites pour ce type de queue. La page du manuel Unix listen(2) doit
contenir plus de détails. Vérifiez la documentation de votre OS pour connaître
la valeur maximale de votre système. Si vous donne une valeur à back_log
qui est plus grande que celle que votre système supporte, cela restera sans effet.
basedir
Le dossier d'installation de MySQL.
La valeur de l'option --basedir.
bdb_cache_size
Le buffer qui est alloué pour mettre en cache des lignes et des index
pour les tables BDB. Si vous n'utilisez pas la tables
BDB, vous devriez démarrer mysqld avec l'option --skip-bdb
pour ne pas gaspiller de mémoire.
Cette variable a été ajoutée en MySQL 3.23.14.
bdb_home
Le dossier de base des tables BDB. Cette valeur doit être la même
que celle de la variable datadir.
Cette variable a été ajoutée en MySQL 3.23.14.
bdb_log_buffer_size
Le buffer qui est alloué pour mettre en cache des lignes et des index
pour les tables BDB. Si vous n'utilisez pas la tables
BDB, vous devriez démarrer mysqld avec l'option --skip-bdb
pour ne pas gaspiller de mémoire.
Cette variable a été ajoutée en MySQL 3.23.31.
bdb_logdir
Le dossier où le moteur BDB écrit les fichiers de log.
C'est la valeur de l'option --bdb-logdir.
Cette variable a été ajoutée en MySQL 3.23.14.
bdb_max_lock
Le nombre maximum de verrous (par défaut 10 000) que vous pouvez activer
simultanément dans une table BDB. Vous devriez augmenter cette valeur si
vous obtenez des erreurs du type bdb: Lock table is out of available locks ou
Got error 12 from ... lorsque vous avez de longues transactions ou que
mysqld doit examiner de nombreuses lignes pour calculer la requête.
bdb: Lock table is out of available locks Got error 12 from ...
Cette variable a été ajoutée en MySQL 3.23.29.
bdb_shared_data
Vaut ON si vous utilisez l'option --bdb-shared-data.
Cette variable a été ajoutée en MySQL 3.23.29.
bdb_tmpdir
La valeur de l'option --bdb-tmpdir.
Cette variable a été ajoutée en MySQL 3.23.14.
bdb_version
La version du moteur BDB.
Cette variable a été ajoutée en MySQL 3.23.31.
binlog_cache_size
La taille du cache qui contient les requêtes SQL destinées au log
binaire, durant une transaction. Un cache binaire est alloué à chaque client
si le serveur supporte les moteurs transactionnel, et depuis MySQL
4.1.2, si le serveur a un log binaire activé (option --log-bin). Si vous
utilisez souvent de grandes transactions multi-requêtes, vous devez augmenter
cette valeur pour améliorer les performances.
Les variables Binlog_cache_use et Binlog_cache_disk_use sont aussi
utiles pour optimiser la taille de cette variable.
Cette variable a été ajoutée en MySQL 3.23.29.
See Section 5.9.4, « Le log binaire ».
bulk_insert_buffer_size
MyISAM utilise une cache hiérarchisé pour les insertions de masses
(c'est à dire INSERT ... SELECT, INSERT ... VALUES (...), (...), ..., et
LOAD DATA INFILE). Cette variable limite la taille du cache en
octets, par threads. Utiliser la valeur de 0 va désactiver cette optimisation.
Note : ce cache est uniquement utilisé lorsque vous ajoutez des données
dans une table non-vide. Par défaut, cette option vaut 8 Mo.
Cette variable a été ajoutée en MySQL 4.0.3.
Cette variable s'appelait myisam_bulk_insert_tree_size.
character_set
Le jeu de caractères par défaut.
Cette variable a été ajoutée en MySQL 3.23.3, puis retirée en
MySQL 4.1.1 et remplacées par différentes variables
character_set_xxx.
character_set_client
Le jeu de caractères pour les commandes du client. Cette variable a été ajoutée en MySQL 4.1.1.
character_set_connection
Le jeu de caractères utilisé pour les littéraux qui n'ont pas d'indication de jeu de caractères, pour certaines fonctions et pour les conversions de nombres vers une chaîne. Cette variable a été ajoutée en MySQL 4.1.1.
character_set_database
Le jeu de caractères par défaut pour les bases de données.
Le serveur modifie cette variable à chaque fois que la base de données par
défaut change. S'il n'y a pas de base de données par défaut, cette variable
prend la valeur de character_set_server.
Cette variable a été ajoutée en MySQL 4.1.1.
character_set_results
Le jeu de caractères utilisé pour retourner des résultats au client. Cette variable a été ajoutée en MySQL 4.1.1.
character_set_server
Le jeu de caractères par défaut pour le serveur. Cette variable a été ajoutée en MySQL 4.1.1.
character_set_system
Le jeu de caractères utilisé par le serveur pour stocker des identifiants.
Cette valeur est toujours utf8.
Cette variable a été ajoutée en MySQL 4.1.1.
character_sets
Les jeux de caractères supportés. Cette variable a été ajoutée en MySQL 3.23.15.
collation_connection
Cette variable a été ajoutée en MySQL 4.1.1.
collation_database
La collation utilisée par la base de données par défaut.
Le serveur modifie cette variable à chaque fois que la base de données par
défaut change. S'il n'y a pas de base de données par défaut, cette variable
prend la valeur de collation_server.
Cette variable a été ajoutée en MySQL 4.1.1.
collation_server
La collation par défaut du serveur. Cette variable a été ajoutée en MySQL 4.1.1.
concurrent_insert
Si cette option vaut ON, MySQL va vous permettre de réaliser des commandes
INSERT sur les tables MyISAM en même temps que d'autres commandes
SELECT seront exécutées. Vous pouvez désactiver cette option en
démarrant mysqld avec l'option --safe or --skip-new.
Cette variable a été ajoutée en MySQL 3.23.7.
Le nombre de secondes d'attente d'un paquet de connexion avant de
conclure avec une erreur Bad handshake.
datadir
Le dossier de données de MySQL.
C'est la valeur de l'option --datadir.
default_week_format
Le mode par défaut pour la fonction WEEK().
Cette variable a été ajoutée en MySQL 4.0.14.
delay_key_write
Les options pour les tables MyISAM. Elles peuvent prendre l'une des valeurs suivantes :
| Option | Description |
OFF |
DELAYED_KEY_WRITE est ignoré.
|
ON |
(Par défaut) MySQL va honorer l'option DELAY_KEY_WRITE de CREATE TABLE.
|
ALL |
Toutes les nouvelles tables ouvertes sont traitées comme si elles étaient créées
avec l'option DELAY_KEY_WRITE.
|
Si DELAY_KEY_WRITE est activé, cela signifie que le buffer de clé des
tables ayant cette option ne seront pas écrit sur le disque dès la fin de la
modification de la table, mais attendrons que la table soit écrite. Cela
accélère notablement les écritures des modifications, mais il faut penser à
ajouter une vérification automatique des tables au démarrage avec
--myisam-recover=BACKUP,FORCE.
Voir aussi Section 5.2.1, « Options de ligne de commande de mysqld » et Section 15.1.1, « Options de démarrage MyISAM ».
Notez que --external-locking n'offre aucune protection contre
les corruptions d'index pour les tables qui utilisent les écritures retardées
de clés.
Cette variable a été ajoutée en MySQL 3.23.8.
delayed_insert_limit
Après avoir inséré delayed_insert_limit lignes, le gestionnaire de
INSERT DELAYED va vérifiez si il n'y a pas de commande SELECT
en attente. Si c'est le cas, il va autoriser ces commandes avant de continuer.
delayed_insert_timeout
Combien de temps le thread INSERT DELAYED doit attendre les commandes
INSERT avant de s'achever.
delayed_queue_size
Quelle taille de file (en lignes) doit être allouée pour gérer les
commandes INSERT DELAYED. Si la file se remplit, tous les clients
qui émettent des commandes INSERT DELAYED devront attendre un peu de place
avant de pouvoir continuer.
flush
Cette option vaut ON si vous avez démarré MySQL avec l'option --flush.
Cette variable a été ajoutée en MySQL 3.22.9.
flush_time
Si cette option a une valeur non nulle, toutes les flush_time secondes,
toutes les tables seront fermées (pour libérez des ressources et synchroniser les
index sur le disque). Nous ne recommandons cette option que sur les systèmes
Windows 9x/Me, ou les systèmes qui ont très peu de ressources.
Cette variable a été ajoutée en MySQL 3.22.18.
ft_boolean_syntax
Liste des opérateurs supportés par IN BOOLEAN MODE.
Cette variable a été ajoutée en MySQL 4.0.1.
See Section 13.6.1, « Booléens de recherches en texte intégral ».
La valeur par défaut de cette variable est '+ -><()~*:""&|'. Les règles pour
modifier cette valeur sont les suivantes :
La fonction de l'opérateur est déterminée par sa position dans la chaîne.
La chaîne de remplacement doit faire 14 caractères.
Chaque caractère doit être ASCII, non-alphanumérique.
Le premier ou le deuxième caractère doit être un espace.
Aucun doublon n'est autorisé, hormis les opérateurs guillemets aux positions 11 et 12. Ceux deux caractères ne sont pas obligatoirement les mêmes, mais ils sont les deux qui peuvent l'être.
Les positions 10, 13 et 14 (qui sont par défaut ':', '&' et
'|') sont réservées pour une utilisation ultérieure.
ft_max_word_len
La taille maximale d'un mot à inclure dans un index FULLTEXT.
Cette variable a été ajoutée en MySQL 4.0.0.
Note : les index FULLTEXT doivent être reconstruits après chaque
modification de cette variable.
Utilisez REPAIR TABLE tbl_name QUICK.
ft_min_word_len
La taille minimale d'un mot à inclure dans un index FULLTEXT.
Cette variable a été ajoutée en MySQL 4.0.0.
Note : les index FULLTEXT doivent être reconstruits après chaque
modification de cette variable.
Utilisez REPAIR TABLE tbl_name QUICK.
ft_query_expansion_limit
Le nombre de solutions générales à utiliser pour les extensions de recherche
avec WITH QUERY EXPANSION.
Cette variable a été ajoutée en MySQL 4.1.1.
ft_stopword_file
Une fichier dans lequel lire une liste de mots interdits pour les recherches
en texte plein. Tous les mots du fichier seront utilisés : les commentaires
ne sont pas respectés.
Par défaut, des listes de mots interdits internes sont utilisés, tels
que définis dans myisam/ft_static.c).
En donnant à cette option la valeur d'une chaîne vide "", vous
désactivez le filtre de mots interdits.
Note : les index FULLTEXT doivent être reconstruits après chaque
modification de cette variable. Utilisez la commande REPAIR TABLE tbl_name QUICK.
Cette variable a été ajoutée en MySQL 4.1.0.
group_concat_max_len
La taille maximale de la chaîne résultat de GROUP_CONCAT().
Cette variable a été ajoutée en MySQL 4.1.0.
have_bdb
YES si mysqld supporte les tables BDB. DISABLED
si --skip-bdb a été utilisé.
Cette variable a été ajoutée en MySQL 3.23.30.
have_innodb
YES si mysqld supporte les tables InnoDB. DISABLED
si --skip-innodb a été utilisé.
Cette variable a été ajoutée en MySQL 3.23.37.
have_isam
YES si mysqld supporte les tables ISAM. DISABLED
si --skip-isam a été utilisé.
Cette variable a été ajoutée en MySQL 3.23.30.
have_raid
YES si mysqld supporte les tables RAID.
Cette variable a été ajoutée en MySQL 3.23.30.
have_openssl
YES si mysqld supporte le chiffrement SSL avec le protocole
de communication client / serveur.
Cette variable a été ajoutée en MySQL 3.23.43.
init_connect
Une chaîne a exécuter sur le serveur lors de chaque connexion. La chaîne est constituée d'une ou plusieurs commandes SQL. Pour spécifier une commande multiple, séparez les requêtes individuelles par des points-virgules. Cette variable a été ajoutée en MySQL version 4.1.2.
Par exemple, chaque client commence par défaut avec le mode d'auto-validation
activé. Il n'y a pas de variable globale à spécifier pour désactiver l'auto-validation,
et init_connect peut servir à ¸a :
SET GLOBAL init_connect='SET AUTOCOMMIT=0';
Cette variable peut aussi être configurée en ligne de commande ou dans un fichier d'options. Pour assigner la variable comme montré dans le fichier d'options, ajoutez ces lignes là :
[mysqld] init_connect='SET AUTOCOMMIT=0'
Cette variable a été ajoutée en MySQL 4.1.2.
init_file
Le nom du fichier spécifié avec l'option --init-file lorsque vous
démarrez le serveur. C'est un fichier qui contient les requêtes SQL que vous
voulez voir exécutées dès le démarrage.
Chaque commande doit être sur une seule ligne, et ne doit pas inclure de commentaires.
Cette variable a été ajoutée en MySQL 3.23.2.
init_slave
Cette variable est similaire à init_connect, mais la chaîne doit être exécutée
par l'esclave, à chaque démarrage du thread SQL. Le format de la chaîne est le même
que pour la variable init_connect.
Cette variable a été ajoutée en MySQL 4.1.2.
innodb_xxx
Les variables système de InnoDB sont listées dans
Section 16.5, « Options de démarrage InnoDB ».
interactive_timeout
Le nombre de secondes durant lequel le serveur attend une activité de la
part de la connexion avant de la fermée. Un client interactif est un
client qui utilise l'option CLIENT_INTERACTIVE avec
mysql_real_connect(). Voir aussi wait_timeout.
join_buffer_size
La taille du buffer qui est utilisée pour les jointures complètes (les jointures qui n'utilisent pas d'index). Ce buffer est alloué une fois pour chaque jointure entre deux tables. Augmentez cette valeur si vous voulez obtenir des jointures plus rapides, lorsque l'ajout d'index n'est pas possible. Normalement, le mieux est d'ajouter de bons index.
Les blocs d'index des tables MyISAM et ISAM
sont mis en buffer et partagés par tous les threads.
key_buffer_size est la taille du buffer utilisé.
Le buffer de clé est aussi appelé le cache de clé.
Augmentez cette valeur pour obtenir une meilleure gestion des index (pour les lectures et écritures multiples), autant que vous le pouvez : 64 Mo sur une machine de 256 Mo est une valeur répandue. Toutefois, si vous utilisez une valeur trop grande (par exemple, plus de 50% de votre mémoire totale), votre système risque de commencer à utiliser sa mémoire swap, et devenir très lent. N'oubliez pas que MySQL ne met pas en cache les données lues, et il faut laisser le système d'exploitation respirer.
Pour obtenir encore plus de vitesse lors de l'écriture de plusieurs
lignes en même temps, utilisez LOCK TABLES.
See Section 14.4.5, « Syntaxe de LOCK TABLES/UNLOCK TABLES ».
Vous pouvez vérifier les performances du buffer de clés avec la commande
SHOW STATUS et en examinant les variables Key_read_requests,
Key_reads, Key_write_requests et Key_writes.
See Section 14.5.3, « Syntaxe de SHOW ».
Le ratio Key_reads/Key_read_requests doit normalement être inférieur
à 0.01. Le ratio Key_writes/Key_write_requests est généralement
près de 1 si vous utilisez essentiellement des modifications et des effacements
mais il peut être plus petit si vous avez des modifications qui changent
plusieurs lignes en même temps, ou si vous utilisez l'option
DELAY_KEY_WRITE.
La fraction du buffer de clé utilisée est déterminée avec la variable
key_buffer_size en conjonction avec la variable Key_blocks_used
et la taille de bloc de buffer. Depuis MySQL 4.1.1, la taille de bloc de buffer
est disponible dans la variable serveur key_cache_block_size. La fraction
utilisée du buffer est :
(Key_blocks_used * key_cache_block_size) / key_buffer_size
Avant MySQL 4.1.1, les blocs du cache de clé étaient de 1024 octets, ce qui fait que la fraction utilisée était :
(Key_blocks_used * 1024) / key_buffer_size
key_cache_age_threshold
Cette valeur contrôle le transit des buffers d'une sous-chaîne de cache
de clé vers une autre, moins prioritaire.
Les valeurs les plus basses accroissent la vitesse de transit.
La valeur minimale est de 100.
La valeur par défaut est 300.
Cette variable a été ajoutée en MySQL 4.1.1.
See Section 7.4.6, « Le cache de clé des tables MyISAM ».
key_cache_block_size
La taille du bloc de cache de clé, en octets.
La valeur par défaut est 1024.
Cette variable a été ajoutée en MySQL 4.1.1.
See Section 7.4.6, « Le cache de clé des tables MyISAM ».
key_cache_division_limit
Le point de division entre la sous-chaîne prioritaire et la seconde sous-chaîne.
Cette valeur est le pourcentage du buffer à utiliser pour la sous-chaîne
secondaire. Les valeurs possibles vont de 1 à 100.
La valeur par défaut est 100.
Cette variable a été ajoutée en MySQL 4.1.1.
See Section 7.4.6, « Le cache de clé des tables MyISAM ».
language
La langue utilisée pour les message d'erreurs.
large_file_support
Si mysqld a été compilé avec le support des grands fichiers.
Cette variable a été ajoutée en MySQL 3.23.28.
local_infile
Si mysqld a été configuré avec le support de LOCAL
pour les commandes LOAD DATA INFILE.
Cette variable a été ajoutée en MySQL 4.0.3.
locked_in_memory
Si mysqld a été verrouillé en mémoire avec --memlock
Cette variable a été ajoutée en MySQL 3.23.25.
log
Si le log de toutes les requêtes est activé. See Section 5.9.2, « Le log général de requêtes ».
log_bin
Si le log binaire est activé. Cette variable a été ajoutée en MySQL 3.23.14. See Section 5.9.4, « Le log binaire ».
log_slave_updates
Si les modifications des esclaves doivent être enregistrées. Le log binaire doit être activé pour que cette option fonctionne. Cette variable a été ajoutée en MySQL 3.23.17. See Section 6.8, « Options de démarrage de la réplication ».
log_slow_queries
Indique si les requêtes lentes doivent être enregistrées. ``Lente'' est
déterminé par la valeur de long_query_time.
Cette variable a été ajoutée en MySQL 4.0.2.
See Section 5.9.5, « Le log des requêtes lentes ».
log_update
Si le log de modification est activé. Cette variable a été ajoutée en MySQL 3.22.18. Notez que le log binaire est préférable au log de modifications, qui n'est plus disponible en MySQL 5.0. See Section 5.9.3, « Le log de modification ».
long_query_time
Si une requête prend plus de long_query_time secondes, le compteur
de requêtes lentes Slow_queries sera incrémenté. Si vous utilisez l'option
--log-slow-queries, ces requêtes seront enregistrées dans un historique
de requêtes lentes. Cette durée est mesurée en temps réel, et non pas en
temps processus, ce qui fait que les requêtes qui seraient juste sous la limite
avec un système légèrement chargé, pourrait être au dessus avec le même
système, mais chargé.
See Section 5.9.5, « Le log des requêtes lentes ».
low_priority_updates
Si cette option vaut 1, toutes les requêtes
INSERT, UPDATE, DELETE et LOCK TABLE WRITE attendent
qu'il n'y ait plus de SELECT ou de LOCK TABLE READ en attente pour cette table.
Cette variable s'appelait avant sql_low_priority_updates.
Cette variable a été ajoutée en MySQL 3.22.5.
lower_case_table_names
Si cette option vaut 1, les noms de tables sont stockées en minuscules sur le disque, et les comparaisons de nom de tables seront insensibles à la casse. Depuis la version 4.0.2, cette option s'applique aussi aux noms de bases. Depuis la version 4.1.1 cette option s'applique aussi aux alias de table. See Section 10.2.2, « Sensibilité à la casse pour les noms ».
Vous ne devez pas mettre cette variable à 0 si vous utilisez MySQL
sur un serveur qui n'a pas de sensibilité à la casse au niveau du système
de fichiers (comme Windows ou Mac OS X). Nouveau en 4.0.18 : si cette variable
vaut 0 est que le système de fichier n'est pas sensible à la casse,
MySQL va automatiquement donner la valeur de 2 à
lower_case_table_names.
max_allowed_packet
La taille maximale d'un paquet.
Le buffer de message est initialisé avec
net_buffer_length octets, mais peut grandir jusqu'à max_allowed_packet
octets lorsque nécessaire. Cette valeur est par défaut petit, pour intercepter
les gros paquets, probablement erronés.
Vous devez augmenter cette valeur si
vous utilisez de grandes colonnes BLOB. Cette valeur doit être aussi grande
que le plus grand BLOB que vous utiliserez. Le protocole limite
actuellement max_allowed_packet à 16 Mo en MySQL
3.23 et 1 Go en MySQL 4.0.
max_binlog_cache_size
Si une transaction multi-requête requiert plus que cette quantité de mémoire,
vous obtiendrez une erreur
"Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage".
Cette variable a été ajoutée en MySQL 3.23.29.
max_binlog_size
Disponible depuis la version 3.23.33. Si vous écrivez dans le log binaire (de réplication)
et que cela dépasse la taille de max_binlog_size, une erreur sera indiquée.
Vous ne pouvez pas donner à max_binlog_size une valeur inférieure à
1024 octets, ou plus grande que 1 Go.
Cette variable a été ajoutée en MySQL 3.23.33.
Notez bien si vous utilisez les transactions : une transaction est écrite en
une seule fois dans le log binaire, et elle ne peut pas être répartie
en plusieurs fichiers. Par conséquent, si vous avez de grandes transactions,
vous verrez peut être des fichiers de log plus grand que max_binlog_size.
Si max_relay_log_size vaut 0, la valeur de max_binlog_size
s'applique aussi aux logs de relais.
max_relay_log_size a été ajoutée en MySQL 4.0.14.
max_connect_errors
S'il y a plus que max_connect_errors connexion interrompues depuis
un même hôte, cet hôte sera bloqué dans ses prochaines tentatives de
connexions. Vous pouvez débloquer un hôte avec la commande
FLUSH HOSTS.
max_connections
Le nombre maximal de clients simultanés accepté. En augmentant cette valeur,
vous augmentez le nombre de pointeur de fichier que requiert mysqld. Voyez la section
Section 7.4.8, « Quand MySQL ouvre et ferme les tables » pour des commentaires sur les pointeurs de fichiers. Voyez aussi
la section Section A.2.6, « Erreur Too many connections ».
max_delayed_threads
Ne pas lancer plus que max_delayed_threads threads pour gérer les
insertions INSERT DELAYED. Si vous essayez d'insérer des données dans
une nouvelle table alors que tous les gestionnaires INSERT DELAYED
sont utilisés, la ligne sera insérée comme si l'option DELAYED n'avait pas
été spécifiée.
Cette variable a été ajoutée en MySQL 3.23.0.
max_error_count
Le nombre maximum d'erreur, alertes et messages de note à stocker pour
afficher avec SHOW ERRORS ou SHOW WARNINGS.
Cette variable a été ajoutée en MySQL 4.1.0.
max_heap_table_size
Ne pas autoriser la création de tables de type MEMORY (HEAP)
plus grande que max_heap_table_size. La valeur de la variable est utilisée
pour calculer la valeur maximale de MAX_ROWS pour la table
MEMORY. Modifier cette variable n'a pas d'effet sur les tables
existantes, à moins que la table ne soit recrée, avec une commande comme
CREATE TABLE ou TRUNCATE TABLE, ou encore modifiée avec
ALTER TABLE.
Cette variable a été ajoutée en MySQL 3.23.0.
max_insert_delayed_threads
Cette variable est un synonyme de max_delayed_threads.
Cette variable a été ajoutée en MySQL 4.0.19.
max_join_size
Les jointures qui liront probablement plus de max_join_size
lignes, retourneront une erreur. Utilisez cette valeur si vos utilisateurs
font des jointures avec de mauvaises clauses WHERE, qui prennent trop
de temps, et retournent des millions de lignes.
En donnant une valeur à cette variable qui est autre que DEFAULT
remet la valeur de SQL_BIG_SELECTS à 0. Si vous modifiez
à nouveau la valeur de SQL_BIG_SELECTS,
la variable max_join_size sera ignorée.
Si un résultat de requête est déjà dans le cache de requête, aucune limite de taille n'est vérifiée, car le résultat a déjà été compilé, et cela ne posera aucun problème au serveur pour l'envoyer à nouveau.
Cette variable s'appelait précédemment sql_max_join_size.
max_relay_log_size
Disponible depuis la version 4.0.14. Si vous écrivez des données dans un log
de relais et que leur taille dépasse la valeur
donnée, le log de relais passe au fichier suivant.
Cette variable vous permet de placer différentes contraintes de taille sur les
logs binaire et de relais.
Cependant, en donnant la valeur de 0 à cette valeur, MySQL utilisera
max_binlog_size pour les deux logs, binaire et de relais.
Vous devez donner à max_relay_log_size la valeur de 0 ou plus de 4096,
et moins que 1 Go. Par défaut, c'est 0.
Cette variable a été ajoutée en MySQL 4.0.14.
See Section 6.3, « Détails d'implémentation de la réplication ».
max_seeks_for_key
La limite de recherche lors de recherche de lignes basées sur un index. L'optimiseur MySQL va supposer que lorsque vous recherchez des lignes dans une table en analysant les index, vous n'aller pas générer plus de ce nombre de recherches, indépendamment de la cardinalité de la clé. En donnant une valeur faible à cette variable (100 ?) vous pouvez forcer MySQL a préférer les scans d'index plutôt que les scans de tables. Cette variable a été ajoutée en MySQL 4.0.14.
max_sort_length
Le nombre d'octets à utiliser lors du tri des colonnes de type BLOB et TEXT.
Seuls les max_sort_length octets de chaque valeur seront utilisés pour
le tri. Le reste est ignoré.
max_tmp_tables
Cette option ne fait encore rien. Le nombre maximal de tables temporaires qu'un client peut garder ouverte en même temps.
max_user_connections
Le nombre maximum de connexions actives pour un utilisateur particulier (0 = pas de limite). Cette variable a été ajoutée en MySQL 3.23.34.
max_write_lock_count
Après max_write_lock_count pose de verrou en écriture,
autorise quelques verrous en lecture.
Cette variable a été ajoutée en MySQL 3.23.7.
myisam_data_pointer_size
La taille par défaut du pointeur à utiliser avec CREATE TABLE pour
les tables MyISAM lorsque qu'aucune option MAX_ROWS n'est spécifiée.
Cette variable ne peut pas être inférieure à 2 ni supérieure à 8. La valeur
par défaut est de 4.
Cette variable a été ajoutée en MySQL 4.1.2.
See Section A.2.11, « Erreur The table is full ».
myisam_max_extra_sort_file_size
Si un fichier temporaire est utilisé pour créer rapidement un fichier d'index
pour une table MyISAM est plus grand que la valeur de cette variable,
alors préfère la méthode du cache de clé. C'est surtout utilisé pour forcer
les grands index à utiliser la méthode plus lente du cache de clé pour créer
l'index.
Cette variable a été ajoutée en MySQL 3.23.37.
Note : la valeur donnée est en megaoctets avant 4.0.3 et
en octets après.
myisam_max_sort_file_size
La taille maximale du fichier temporaire que MySQL est autorisé à
utiliser durant la recréation des fichiers d'index (avec
REPAIR, ALTER TABLE ou LOAD DATA INFILE). Si la taille
du fichier dépasse myisam_max_sort_file_size, l'index sera créé avec
un cache de clé (plus lent).
Cette variable a été ajoutée en MySQL 3.23.37.
Note : ce paramètre est spécifié
en megaoctets avant la version 4.0.3 et en octets depuis.
myisam_recover_options
La valeur de l'option --myisam-recover.
Cette variable a été ajoutée en MySQL 3.23.36.
myisam_repair_threads
Si cette valeur est plus grande que 1, les index des tables MyISAM durant un processus
de Repair by sorting seront créés en parallèle : chaque index avec son propre
thread. Note : les réparations multi-threadées sont encore en
développement, et en qualité alpha.
Cette variable a été ajoutée en MySQL 4.0.13.
myisam_sort_buffer_size
Le buffer qui est alloués lors du tri d'index avec la commande
REPAIR ou lors de la création d'index avec CREATE INDEX ou
ALTER TABLE.
Cette variable a été ajoutée en MySQL 3.23.16.
named_pipe
Sous Windows, indique si le serveur supporte les connexions via les pipes nommés. Cette variable a été ajoutée en MySQL 3.23.50.
net_buffer_length
Le buffer de communication est remis à zéro entre deux requêtes. Cela ne
devrait pas être modifié, mais si vous avez très peu de mémoire, vous pouvez
le remettre à la taille présumée de la requête (c'est à dire, la taille
de requête envoyé par le client. Si la requête dépasse cette taille,
le buffer est automatiquement agrandi jusqu'à max_allowed_packet octets).
net_read_timeout
Nombre de secondes d'attente des dernières données, avant d'annuler la lecture.
Notez que lorsque nous n'attendons pas de données d'une connexion, le
délai d'expiration est donné par write_timeout.
Voir aussi slave_net_timeout.
Cette variable a été ajoutée en MySQL 3.23.20.
net_retry_count
Si une lecture sur une port de communication est interrompu, net_retry_count
tentatives sont faites avant d'abandonner. Cette valeur doit être particulièrement
grande pour FreeBSD car les interruptions internes sont envoyés à tous les
threads.
Cette variable a été ajoutée en MySQL 3.23.7.
net_write_timeout
Nombre de secondes d'attente pour qu'un bloc soit envoyé à une connexion,
avant d'annuler l'écriture.
Voir aussi net_read_timeout.
Cette variable a été ajoutée en MySQL 3.23.20.
open_files_limit
Si open_files_limit ne vaut pas 0, alors mysqld va utiliser cette
valeur pour réserver des pointeurs de fichiers à utiliser avec setrlimit().
Si cette valeur est 0, alors mysqld va réserver max_connections*5 ou
max_connections + table_cache*2 (le plus grand des deux) pointeurs de
fichiers. Vous devriez augmenter cette valeur si mysqld vous donne des
erreurs du type 'Too many open files'.
pid_file
Le chemin vers le fichier de processus (PID).
La valeur de l'option --pid-file.
Cette variable a été ajoutée en MySQL 3.23.23.
port
Le port de connexion sur lequel le serveur attend les connexions TCP/IP.
Cette variable peut être spécifiée avec --port.
protocol_version
La version du protocole utilisé par le serveur MySQL. Cette variable a été ajoutée en MySQL 3.23.18.
query_alloc_block_size
Taille des blocs de mémoire alloués pour les objets durant l'analyse et la préparation des requêtes. Si vous avez un problème avec la fragmentation de la mémoire, cela peut être utile d'augmenter cette valeur. Cette variable a été ajoutée en MySQL 4.0.16.
query_cache_limit
Ne met pas en cache les résultats qui sont plus grands que query_cache_limit.
Par défaut, 1 Mo.
Cette variable a été ajoutée en MySQL 4.0.1.
query_cache_min_res_unit
La taille minimale pour les blocs alloués par le cache de requête. La valeur par défaut est de 4 ko. Des informations sur l'optimisation de cette variable sont données dans la section Section 5.11.3, « Configuration du cache de requêtes ». Cette variable a été ajoutée en MySQL 4.1.
query_cache_size
La mémoire allouée pour stocker les résultats des vieilles requêtes.
Si query_cache_size vaut 0, le cache de requête est désactivé
(par défaut).
Cette variable a été ajoutée en MySQL 4.0.1.
query_cache_type
Choisit le type de cache de requête. Modifier la variable GLOBAL
modifie le cache pour tous les clients. Les clients peuvent modifier la
variable de SESSION pour l'adapter à leur utilisation.
query_cache_type peut prendre les valeurs numériques suivantes :
| Option | Description |
0 or OFF
|
Ne met pas en cache les résultats.
Notez que cela ne va pas libérer le buffer de requête. Pour cela,
il faut donner à query_cache_size la valeur de 0.
|
1 or ON
|
Met en cache tous les résultats exceptés les requêtes SELECT SQL_NO_CACHE ....
|
2 or DEMAND
|
Met en cache uniquement les requêtes SELECT SQL_CACHE ....
|
Cette variable a été ajoutée en MySQL 4.0.3.
query_cache_wlock_invalidate
Normalement, lorsqu'un client pose un verrou WRITE sur une table
MyISAM, les autres clients ne sont pas empêchés d'émettre des requêtes
sur la table, si le résultat est déjà en cache. En donnant la valeur de 1 à cette
variable, le verrou WRITE empêchera toutes les requêtes qui feront
référence à cette table. Cela force les autres clients à attendre que le verrou
se libère.
Cette variable a été ajoutée en MySQL 4.0.19.
query_prealloc_size
La taille du buffer persistant utilisé pour l'analyse des requêtes
et leur exécution. Ce buffer n'est pas libéré entre deux requêtes.
Si vous manipulez des requêtes complexes, une valeur plus grande pour
query_prealloc_size sera plus utile pour améliorer les performances,
car elle peut réduire les allocations complémentaires de mémoire durant
l'exécution des requêtes.
Cette variable a été ajoutée en MySQL 4.0.16.
range_alloc_block_size
La taille de bloc qui est alloué lors de l'optimisation d'intervalle. Cette variable a été ajoutée en MySQL 4.0.16.
read_buffer_size
Chaque thread qui fait une recherche séquentielle alloue un buffer de
cette taille pour son scan. Si vous faites de nombreux scan séquentiels,
vous pourriez avoir besoin d'augmenter cette valeur.
Cette variable a été ajoutée en MySQL 4.0.3.
Auparavant, cette variable s'appelait record_buffer.
read_only
Lorsque cette variable vaut ON pour un serveur de réplication esclave,
cela fait que le serveur ne permet aucune modification, hormis celles de la
réplication, ou des utilisateurs ayant le droit de SUPER. Cela peut être
pratique pour s'assurer qu'un esclave n'accepte aucune modification des clients.
Cette variable a été ajoutée en MySQL 4.0.14.
read_rnd_buffer_size
Lors de la lecture des lignes triées, les lignes sont lues dans un buffer,
pour éviter les accès disques. En donnant à cette variable une grande valeur,
vous améliorerez les performances des clauses ORDER BY. Cependant,
ce buffer est alloué pour chaque client : il est recommandé de ne pas donner
une valeur globale trop importante. Au lieu de cela, modifiez cette valeur
si votre client a besoin de faire de gros tris.
Cette variable a été ajoutée en MySQL 4.0.3.
Auparavant, cette variable s'appelait record_rnd_buffer.
safe_show_database
Ne montre pas les bases pour lesquelles un utilisateur n'a pas des droits
de bases ou de tables. Cela peut améliorer considérablement la sécurité
si vous craignez de voir les utilisateurs découvrir ce que les autres
ont mis en place. Voir aussi skip_show_database.
Cette variable a été supprimée en MySQL 4.0.5. A la place, utilisez le droit
SHOW DATABASES pour contrôler les accès aux noms des bases de données.
secure_auth
Si le serveur MySQL a été lancé avec l'option --secure-auth,
il va empêcher les connexions des comptes qui ont un compte au format
pre-version 4.1. Dans ce cas, la valeur de cette variable vaut ON,
sinon, c'est OFF.
Vous devriez activer cette option si vous voulez empêcher l'utilisation des mots de passe à l'ancien format (et donc, améliorer la sécurité de votre serveur). Cette variable a été ajoutée en MySQL 4.1.1.
Le démarrage du serveur échouera avec une erreur si cette option est activée, mais que la table de droits est toujours au format pre-version 4.1.
Lorsqu'elle est utilisée comme une option du client, le client va refuser de se connecter au serveur si le serveur requiert un mot de passe à l'ancien format.
server_id
La valeur de l'option --server-id. Elle sert à la réplication.
Cette variable a été ajoutée en MySQL 3.23.26.
skip_external_locking
skip_locking vaut OFF si mysqld utilise le verrouillage externe.
Cette variable a été ajoutée en MySQL 4.0.3.
Auparavant, cette variable s'appelait skip_locking.
skip_networking
skip_networking vaut ON si seules les connexions locales (via
socket) sont autorisées. Sous Unix, les connexions locales utilisent
un fichier de socket Unix. Sous Windows, les connexions locales
utilisent les pipes nommés. Sous NetWare, seules les connexions TCP/IP
sont supportées, alors ne donnez pas la valeur de ON à cette variable.
Cette variable a été ajoutée en MySQL 3.22.23.
skip_show_database
skip_show_database empêche les utilisateurs d'exécuter des commandes
SHOW DATABASES si ils n'ont pas les droits de PROCESS.
Cela peut améliorer la sécurité si vous craignez de voir les utilisateurs
découvrir ce que les autres ont mis en place. Voir aussi safe_show_database.
Cette variable a été ajoutée en MySQL 3.23.4.
Depuis MySQL 4.0.2, son effet dépend aussi du droit SHOW DATABASES :
si la variable vaut ON, la commande SHOW DATABASES n'est autorisée
qu'aux comptes ayant le droit de SHOW DATABASES, et la commande
affiche tous les noms de bases. Si la valeur est OFF, SHOW DATABASES
est autorisé à tous les utilisateurs, mais il n'affichera que les noms de
bases de données pour lesquelles l'utilisateur a le droit de
SHOW DATABASES ou un droit quelconque dans la base.
slave_net_timeout
Nombre de secondes d'attente de données en lecture ou écriture sur une connexion maître / esclave avant d'annuler. Cette variable a été ajoutée en MySQL 3.23.40.
slow_launch_time
Si la création du thread prend plus de slow_launch_time secondes,
le compteur de threads lents Slow_launch_threads sera incrémenté.
Cette variable a été ajoutée en MySQL 3.23.15.
socket
La socket Unix utilisé par le serveur. Sous Unix, c'est le fichier de socket Unix, pour les connexions locales. Sous Windows, c'est le nom du pipe nommé, pour les connexions locales.
sort_buffer_size
Chaque thread qui doit faire un tri alloue un buffer de cette taille.
Augmentez cette taille pour accélérer les clauses
ORDER BY ou GROUP BY.
See Section A.4.4, « Où MySQL stocke les fichiers temporaires ? ».
sql_mode
Le mode SQL courant. Cette variable a été ajoutée en MySQL 3.23.41. See Section 5.2.2, « Le mode SQL du serveur ».
storage_engine
Cette variable est un synonyme de table_type.
Cette variable a été ajoutée en MySQL 4.1.2.
table_cache
Le nombre de tables ouvertes pour tous les threads réunis. En augmentant
cette valeur, vous augmentez le nombre de pointeurs de fichiers que
mysqld utilise. Vous pouvez vérifier si vous avez besoin de plus de
cache de tables en étudiant la valeur de la variable Opened_tables.
See Section 5.2.4, « Variables de statut du serveur ».
Si cette variable est grande, c'est que vous ne
faites pas souvent de commandes FLUSH TABLES (qui force les tables
à se recharger), vous devrez alors augmenter cette valeur.
Pour plus d'informations sur le cache de table, voyez Section 7.4.8, « Quand MySQL ouvre et ferme les tables ».
table_type
Le type de table par défaut.
Pour configurer le type de table par défaut au démarrage, utilisez --default-table-type.
Cette variable a été ajoutée en MySQL 3.23.0.
See Section 5.2.1, « Options de ligne de commande de mysqld ».
thread_cache_size
Combien de threads nous allons conserver en cache pour réutilisation.
Lorsqu'un client se déconnecte, les threads du client sont mis en cache
s'il n'y en a pas déjà thread_cache_size de conservé. Tous les
nouveaux threads sont d'abord prélevé dans le cache, et uniquement lorsque
le cache est vide, un nouveau thread est créé. Cette variable peut vous
permettre d'améliorer les performances si vous avez de nombreuses
connexions. Normalement, thread_cache_size ne donne pas d'amélioration
notable si vous avez une bonne implémentation des threads. En examinant la différence
entre les variables de statut Connections et Threads_created
vous pouvez voir comment votre système de cache de threads est efficace.
(see Section 5.2.4, « Variables de statut du serveur » pour plus de détails)
Cette variable a été ajoutée en MySQL 3.23.16.
thread_concurrency
Sous Solaris, mysqld va appeler thr_setconcurrency() avec cette
valeur. thr_setconcurrency() permet à l'application de donner au
système de threads une indication sur le nombre de threads qui seront
exécutés en même temps.
Cette variable a été ajoutée en MySQL 3.23.7.
thread_stack
La taille de la pile pour chaque thread. De nombreuses limites détectées
par crash-me sont dépendantes de cette valeur. La valeur par défaut
est suffisamment grande pour des opérations normales. See Section 7.1.4, « La suite de tests MySQL ».
timezone
Le fuseau horaire du serveur. Cette option prend la valeur de la variable d'environnement
TZ lorsque mysqld est démarré. Elle peut aussi être modifiée avec
l'argument --timezone de mysqld_safe.
Cette variable a été ajoutée en MySQL 3.23.15.
See Section A.4.6, « Problèmes de fuseaux horaires ».
tmp_table_size
Si une table temporaire en mémoire excède cette taille, MySQL
va automatiquement la convertir en une table MyISAM sur le disque.
Augmentez la valeur de tmp_table_size si vous faites un usage intensif
de la clause GROUP BY et que vous avez beaucoup de mémoire.
tmpdir
Le dossier utilisé pour les fichiers temporaires et les tables temporaires.
Depuis MySQL 4.1, cette variable peut prendre une liste de
différents chemins, qui sont utilisés circulairement. Les
chemins doivent être séparés par des deux points (':') sous Unix
et des points-virgules (';') sous Windows, NetWare et OS/2.
Cette fonctionnalité permet de répartir la charge en plusieurs disques.
Si le serveur MySQL sert d'esclave de réplication, vous ne devez
pas faire pointer tmpdir sur un dossier en mémoire, car il sera vidé
si le serveur redémarre. Un esclave de réplication doit pouvoir reprendre
ses fichiers temporaires pour que la réplication puisse redémarrer,
en incluant les tables temporaires et les opérations de LOAD DATA INFILE.
Si les fichiers du dossier temporaire sont perdus au redémarrage,
la réplication s'arrêtera.
Cette variable a été ajoutée en MySQL 3.22.4.
transaction_alloc_block_size
La taille de bloc d'allocation de mémoire pour le stockage des requêtes qui font partie d'une transaction, qui sera stockée dans le log binaire durant une validation. Cette variable a été ajoutée en MySQL 4.0.16.
transaction_prealloc_size
Le buffer persistant pour transaction_alloc_blocks, qui n'est pas
libéré entre deux requêtes. En rendant cet buffer ``assez grand''
pour accommoder toutes les requêtes dans une transaction classique,
vous pouvez éviter de nombreux appels malloc().
Cette variable a été ajoutée en MySQL 4.0.16.
tx_isolation
Le niveau par défaut d'isolation de transactions. Cette variable a été ajoutée en MySQL 4.0.3.
version
Le numéro de version du serveur.
wait_timeout
Le nombre de secondes d'attente du serveur sur une connexion non interactive avant de la refermer.
Lors du démarrage du thread, SESSION.WAIT_TIMEOUT est initialisé avec
GLOBAL.WAIT_TIMEOUT ou GLOBAL.INTERACTIVE_TIMEOUT, suivant le type
de client (tel que défini par l'option de connexion CLIENT_INTERACTIVE).
Voir aussi interactive_timeout.
© 1995-2005 MySQL AB. All rights reserved.
