| 5.2 Configuration de MySQL
 5 Administration du serveur
 Manuel de Référence MySQL 4.1 : Version Française
 
 . Options de ligne de commande de mysqld
 . Le mode SQL du serveur
 ->Variables serveur système
 . Variables de statut du serveur
 
 
 | 
  5.2.3 Variables serveur système     
 
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 : Avant MySQL 4.0, vous deviez utiliser la syntaxe suivante :| 
mysqld --key_buffer_size=16M
 | 
 La lettre de suffixe peut être en majuscule ou en minuscule : 
 
16M
  et  
16m
  sont équivalents.| 
mysqld --set-variable=key_buffer_size=16M
 | 
 
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 : 
 Pour spécifier explicitement si vous voulez modifier une variable globale ou
une variable de session, utilisez les options  
GLOBAL
  et  
SESSION
  :| 
mysql> SET 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  Variables dynamiques système .| 
mysql> SET GLOBAL sort_buffer_size = 10 * 1024 * 1024;mysql> SET SESSION sort_buffer_size = 10 * 1024 * 1024;
 | 
 
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  Variables système  pour plus d'informations. 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 
 Options de démarrage 
InnoDB
 .| 
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                        |
 +---------------------------------+------------------------------+
 | 
 
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  Choix des paramètres du serveur . 
ansi_mode
      Vaut  
ON
  si  
mysqld
  a été démarré en mode  
--ansi
 .
 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. 
Cette variable a été ajoutée en MySQL 3.23.29.| 
bdb: Lock table is out of available locksGot error 12 from ...
 | 
 
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.
 Le log binaire des mises à jour .
      
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.
      
connect_timeout
 
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  Options de ligne de commande 
mysqld
  et  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.
 Opérateurs booléens de recherche  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 : 
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à :| 
SET GLOBAL init_connect='SET AUTOCOMMIT=0';
 | 
 Cette variable a été ajoutée en MySQL 4.1.2.| 
[mysqld]init_connect='SET AUTOCOMMIT=0'
 | 
 
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 
 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.      
key_buffer_size
 
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
 . 
 Syntaxe de 
LOCK TABLES
 et 
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
 .
 Syntaxe de 
SET
 et 
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 : 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 * key_cache_block_size) / key_buffer_size
 | 
 Le cache de clés 
MyISAM
 .| 
(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.
 Le cache de clés 
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.
 Le cache de clés 
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.
 Le cache de clés 
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é.
 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.
 Le log binaire des mises à jour .
      
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.
 Options de 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.
 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.
 Le log des mises à jour .
      
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é.
 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.
 Identifier Case Sensitivity .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
 Comment MySQL ouvre et ferme les tables  pour des commentaires sur les pointeurs de fichiers. Voyez aussi
la section  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.
 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.
 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 
 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 : 
Cette variable a été ajoutée en MySQL 4.0.3.
| 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 ...
. |  
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
 .
 Où MySQL conserve les fichiers temporaires .
      
sql_mode
      Le mode SQL courant.
Cette variable a été ajoutée en MySQL 3.23.41.
 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
 . 
 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  Comment 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.
 Options de ligne de commande 
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.
( 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.  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.
 Les problèmes de fuseau horaire .
      
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
 .
 Sommaire : |