Table des matières
Ce chapitre présente les programmes fournis par MySQL AB et les options disponibles pour faire fonctionner ces programmes.
La plupart des programmes ont des options qui leur sont spécifiques, mais la syntaxe de spécifications des options est similaires pour tous les programmes. Les derniers chapitres fournissent des détails sur chaque programme, y compris leurs options.
MySQL AB fournit différents types de logiciels :
Le serveur MYSQL et les scripts de démarrage :
              mysqld est le serveur MySQL
            
              mysqld_safe,
              mysql.server et
              mysqld_multi sont les scripts de
              démarrage.
            
              mysql_install_db initialise le dossier
              de données et les premières bases.
            
Ces logiciels sont présentés en détail dans la section Chapitre 5, Administration du serveur.
Logiciels clietns pour accéder au serveur :
              mysql est un client en ligne de
              commande, pour éxécuter des commandes SQL,
              interactivement, ou en mode batch.
            
              mysqlcc (MySQL Control Center) est un
              client interactif graphique, pour exécuter des commandes
              SQL, et administrer le serveur
            
              mysqladmin est un client
              d'administration
            
              mysqlcheck effectue les opérations de
              maintenance sur les tables
            
              mysqldump et
              mysqlhotcopy font les sauvegardes de
              bases
            
              mysqlimport importe des fichiers de
              données
            
              mysqlshow affiche des informations sur
              les bases et les tables
            
Ces logiciels sont présentés en détails dans la section Chapitre 8, MySQL Scripts clients et utilitaires.
Utilitaires qui fonctionnent indépendamment du serveur :
              myisamchk effectue les opérations de
              maintenance des tables
            
              myisampack produit des tables
              compressées, en lecture seule
            
              mysqlbinlog est un outil pour traiter
              les fichiers de logs binaires
            
              perror affiche le message associé à
              un code d'erreur
            
          myisamchk est présenté dans la section
          Chapitre 5, Administration du serveur. Les autres
          logiciels sont détaillés dans
          Chapitre 8, MySQL Scripts clients et utilitaires.
        
      La plupart des distributions MySQL incluent tous ces programmes,
      hormis ceux qui sont spécifiques à une plate-forme. Par exemple,
      les scripts de démarrage du serveur ne sont pas utilisés sur
      Windows. L'exception est le format RPM, qui est
      plus spécialisé. Il y a des RPM pour le
      serveur, d'autres pour les clients. Si vous pensez qu'il vous en
      manque un, voyez la section Chapitre 2, Installer MySQL pour tout
      savoir sur les distributions et leur contenu. Il se peut alors que
      vous ayez un autre paquet à installer.
    
      Pour appeler un logiciel MySQL en ligne de commande (c'est à dire
      depuis un terminal), il suffit d'entrer le nom du programme, suivi
      d'options, et d'autres arguments, pour indiquer au programme ce
      que vous voulez faire. Les commandes suivantes montrent quelques
      appels simples. ``shell>'' représente
      l'invite de commande de votre interprèteur : il ne fait pas
      partie de la commande elle-même. Les invites de commandes
      classiques sont $ pour sh et
      bash, % pour
      csh et tcsh, et
      C:\> pour Windows
      command.com ou cmd.exe.
    
shell>mysql testshell>mysqladmin extended-status variablesshell>mysqlshow --helpshell>mysqldump --user=root personnel
Les arguments qui commencent par un tiret sont des options. Ils spécifient généralement le type de connexion que le serveur doit faire, ou lui donne un mode opératoire spécial. La syntaxe des options est décrite dans la section Section 4.3, « Spécifier des options aux programmes ».
      Les arguments (ceux qui ne commencent pas par un tiret),
      fournissent davantage d'informations au programme. Par exemple,
      mysql utilise le premier argument comme un nom
      de base de données : la commande mysql test
      indique que vous voulez utiliser la base de données
      test.
    
Les sections ultérieures décriront les programmes individuellement, avec leurs options spécifiques, et l'interprêtation qu'ils font des arguments.
      Certaines options sont communes à un grand nombre de programmes.
      Les plus communes sont --host,
      --user et --password qui
      spécifient respectivement le nom d'hôte du serveur MySQL, le nom
      d'utilisateur et le mot de passe du compte. Tous les clients MySQL
      comprennent ces options : elles vous permettent d'indiquer sur
      quel serveur vous voulez travailler.
    
      Vous pouvez avoir besoin d'appeler les logiciels MySQL en
      utilisant le chemin jusqu'au dossier bin dans
      lequel ils sont installé. Il est probable que dans ce cas, si
      vous rencontrez une erreur ``program not
      found'' lors de votre appel aux programmes hors du
      dossier bin. Pour rendre plus confortable
      l'utilisation de MySQL, vous pouvez ajouter le chemin vers
      bin dans votre variable d'environnement
      PATH. Puis, exécutez le programme en utilisant
      simplement son nom.
    
      Consultez la documentation de votre interprèteur de ligne de
      commande pour savoir assigner la variable PATH.
      La syntaxe d'assignation des variables est spécifique à chaque
      terminal.
    
Vous pouvez fournir des options aux programmes MySQL de différentes fa¸ons :
En ligne de commande, après le nom du programme. C'est le plus courant pour les appels ponctuels du programme.
Dans un fichier d'options, que le programme lit au démarrage. C'est le plus courant pour les programmes que vous voulez utiliser fréquemment.
Dans les variables d'environnement. Ce sont des options pratiques si vous voulez les appliquer à chaque fois que vous lancez le programme, même si les fichiers d'options sont plus utilisés en pratique. (La section Section 5.10.2, « Utiliser plusieurs serveurs sous Unix » présente une situation où les variables d'environnement peuvent être très utiles. Elle décrit une situation où vous pouvez utiliser les variables pour spécifier le numéro de port TCP/IP et le fichier de socket Unix pour le client et le serveur).
Les programmes MySQL déterminent quelles options sont disponibles en examinant d'abord les variables d'environnement, puis le fichier d'options et enfin, la ligne de commande. Si une option est spécifiées plusieurs fois, la dernière occurence sera utilisée. Cela signifie que les variables d'environnement on la plus faible prioritée, et que les options de ligne de commande ont la forte priorité.
La meilleure technique consiste à stocker les options dans un fichier d'options. Vous pourrez alors éviter de saisir les options en ligne de commande, mais vous pourrez les remplacer par d'autres valeurs ponctuellement, en utilisant la ligne de commande.
Les options des programmes spécifiées en ligne de commande suivent ces règles :
Les options sont données après la commande.
            Une option commence avec un ou deux tirets, suivant que
            c'est un nom long ou court. De nombreuses options ont les
            deux formats. Par exemple, -? et
            --help sont les formes courtes et longues
            de l'option qui demande à un programme d'afficher le
            message d'aide.
          
            Les noms des options sont sensibles à la casse.
            -v et -V sont valides
            tous les deux, mais ont des significations différentes.
            Elles correspondent aux formes courtes des options
            --verbose et --version.
          
            Certains options prennent une valeur en argument, après le
            nom de l'option. Par exemple, -h
            localhost et --host=localhost
            indique au client MySQL le nom d'hôte du serveur à
            utiliser. La valeur de l'option est le nom de l'hôte à
            utiliser.
          
            Pour une option longue qui prend une valeur, séparez
            l'option de la valeur avec le signe égal
            (‘=’). Pour une option longue
            qui prend une valeur, séparez l'option de la valeur avec le
            signe espace. (-hlocalhost et -h
            localhost sont équivalents) Une exception à
            cette règle est l'option qui permet de spécifier le mot de
            passe MySQL. Cette option peut être donnée en format long
            comme --password=pass_val ou bien
            --password. Dans le dernier cas (sans mot
            de passe indiqué), le programme vous demandera
            interactivement un mot de passe. Le mot de passe peut aussi
            être configuré avec la forme courte
            -ppass_val, ou encore
            -p. Cependant, en forme courte, si le mot
            de passe est fourni, il doit suivre immédiatement la
            lettre, sans espace. La raison à cela
            est que le programme ne saura pas si l'argument suivant est
            le paramètre de l'option ou un autre argument. Par
            conséquent, les deux commandes suivantes ont deux
            significations très différente :
          
shell>mysql -ptestshell>mysql -p test
            La première commande demande à mysql
            d'utiliser la valeur test comme mot de
            passe, mais ne spécifie pas de base de données par
            défaut. La seconde commande demande à
            mysql de demander le mot de passe à
            l'écran, et d'utiliser la base test
            comme base par défaut.
          
MySQL 4.0 a introduit une souplesse supplémentaire dans la manière de saisir des options. Ces modifications ont été ajoutée en MySQL 4.0.2. Certaines se rapportent à la fa¸on de spécifier qu'une option est ``activée'' ou ``désactivée'', et d'autres se rapportent aux options qui sont disponibles dans une version, mais pas dans l'autre. Ces fonctionnalités sont décrites ultérieurement dans cette section. Un autre changement se rapport à la méthode de spécifications des variables de programme. La section Section 4.3.4, « Utiliser les options pour configurer des variables de programme » présente en détails ce sujet.
        Certaines options qui contrôlent le comportement du serveur
        peuvent être activées ou désactivées. Par exemple, le client
        mysql supporte l'option
        --column-names qui détermine si il faut
        afficher ou pas les noms des colonnes. Par défaut, cette option
        est activée. Cependant, vous pouvez la désactiver dans
        certaines situations, comme lorsque vous voulez envoyer le
        résultat de mysql dans un autre programme
        qui s'attend à ne recevoir que des données, et pas les
        entêtes.
      
Pour désactiver les nom des colonnes, vous pouvez spécifier l'option de trois manières différentes :
--disable-column-names --skip-column-names --column-names=0
        Les préfixes --disable et
        --skip et le suffixe =0 ont
        tous le même effet : ils désactivent l'option.
      
La forme ``active'' de l'option peut être spécifiée de ces trois manières :
--column-names --enable-column-names --column-names=1
        Une autre modification au traitement des options, introduit en
        MySQL 4.0 est que vous pouvez utiliser le préfixe
        --loose pour les options de ligne de commande.
        Si une option est préfixée par --loose, le
        programme ne va pas se terminer avec une erreur, s'il ne
        reconnaît pas l'option, mais il va juste émettre une alerte :
      
shell> mysql --loose-no-such-option
mysql: WARNING: unknown option '--no-such-option'
        Le préfixe --loose peut être utilise lorsque
        vous exécutez des programmes depuis plusieurs installations de
        MySQL sur la même machine : tout au moins, des serveurs aussi
        récents que la version 4.0.2. Ce préfixe est particulièrement
        utilise lorsque vous listes les options dans un fichier
        d'options. Une option peut ne pas être reconnue par une version
        du programme, avec le préfixe --loose, ou le
        préfixe loose dans un fichier d'options. Les
        versions du programme qui ne reconnaissent pas l'option
        émettront une alerte, mais ignoreront l'option. Cette
        stratégie requiert que les versions sont toutes en 4.0.2 ou
        plus récent, car les anciennes versions ne connaissent pas
        --loose.
      
Les programmes MySQL peuvent lire des options de démarrage depuis un fichier d'options (aussi appelé fichier de configuration). Les fichiers d'options fournissent un moyen pratique de spécifier les options les plus courantes pour éviter de les saisir à chaque lancement du programme. Cette fonctionnalité est fournie depuis MySQL version 3.22.
        Les programmes suivantes supportent les fichiers d'options :
        myisamchk, myisampack,
        mysql, mysql.server,
        mysqladmin, mysqlbinlog,
        mysqlcc, mysqlcheck,
        mysqld_safe, mysqldump,
        mysqld, mysqlhotcopy,
        mysqlimport et mysqlshow.
      
MySQL lit les fichiers d'options suivants sous Windows :
| Fichier | Contenu | 
WINDIR\my.ini | Options globales | 
C:\my.cnf | Options globales | 
        WINDIR représente votre dossier Windows. Il
        est généralement C:\Windows ou
        C:\WinNT. Vous pouvez déterminer sa
        localisation exacte à partir de la variable d'environnement
        WINDIR avec cette commande :
      
C:\> echo %WINDIR%
MySQL lit les options par défaut dans les fichiers suivants sous Unix :
| Fichier | Objet | 
/etc/my.cnf | Options globales | 
DATADIR/my.cnf | Options spécifiques au serveur | 
defaults-extra-file | Le fichier spécifié par --defaults-extra-file=# | 
~/.my.cnf | Options spécifiques à l'utilisateur | 
        DATADIR est le dossier de données de MySQL
        (typiquement /usr/local/mysql/data pour les
        installation binaires ou /usr/local/var
        pour une installation source). Notez que c'est ce dossier qui a
        été spécifié au moment de la configuration et non pas le
        dossier de l'option --datadir lorsque
        mysqld démarre !
        (--datadir n'a aucun effet sur le serveur, car
        le serveur recherche les données avant de traiter les options
        de ligne de commande).
      
MySQL essaie de lire les fichiers d'options dans l'ordre dans lequel ils sont présentés ci-dessus. Si un fichier d'options n'existe pas, vous pouvez le créer avec un éditeur de texte. Si des options sont spécifiées plusieurs fois, la dernière occurrence utilisée prend la préséance sur les options spécifiées avant.
        Toutes les options longues qui peuvent être donnée en ligne de
        commande, peuvent être mises dans un fichier d'options. Pour
        avoir la liste des options d'un programme, utilisez la commande
        --help.
      
        La syntaxe de spécification dans un fichier d'option est
        similaire celle de ligne de commande, hormis le fait que vous
        omettez les deux tirets initiaux. Par exemple,
        --quick et --host=localhost en
        ligne de commande deviennent quick et
        host=localhost dans un fichier d'options.
        Pour spécifier une option de la forme
        --loose-opt_name dans un fichier d'options,
        écrivez la sous la forme loose-opt_name.
      
Les lignes vides du fichier d'options sont ignorées. Un fichier d'options contient des lignes ayant la forme suivante :
            #comment, ;comment
          
            Les lignes de commentaires commencent avec
            ‘#’ ou
            ‘;’. Depuis MySQL 4.0.14, un
            commentaire ‘#’ peut être
            ouvert au milieu de la ligne.
          
            [group]
          
            group est le nom du programme ou du
            groupe pour lequel vous souhaitez configurer des options.
            Après une ligne de groupe, toutes les
            option et set-variable
            s'appliqueront au groupe nommé, jusqu'à la fin du fichier
            d'option ou du démarrage d'un autre groupe.
          
            opt_name
          
            Ceci est équivalent à --opt_name sur la
            ligne de commande.
          
            opt_name=value
          
            Ceci est équivalent à --opt_name=value
            sur la ligne de commande. Dans un fichier d'options, vous
            pouvez mettre des espaces autour du caractère
            ‘=’, ce qui n'est pas vrai en
            ligne de commande. Depuis MySQL 4.0.16, vous pouvez mettre
            les valeurs des options entre guillemets simples ou doubles.
            C'est utile lorsqu'une valeur contient un début de
            commentaire ‘#’ ou des
            espaces.
          
            set-variable = variable=value
          
            Donne à la variable programme var_name
            sa valeur. Ceci est équivalent à --set-variable
            variable=value sur la ligne de commande. Cette
            syntaxe doit être utilisée pour spécifier la valeur d'une
            variable mysqld. Les espaces sont
            autorisés autour du premier caractère
            ‘=’ mais pas autour du
            second. Notez que --set-variable est
            obsolète depuis MySQL 4.0, utilisez simplement
            --variable=value comme tel. Voyez
            Section 4.3.4, « Utiliser les options pour configurer des variables de programme » pour plus d'informations
            sur la spécification des variables programme.
          
        Les espaces initiaux et terminaux sont automatiquement effacés
        autour des noms d'options et de leur valeur. Vous pouvez
        utilisez les séquences spéciales
        ‘\b’,
        ‘\t’,
        ‘\n’,
        ‘\r’,
        ‘\\’ et
        ‘\s’ dans les valeurs des options
        pour représenter des effacement, tabulations, nouvelles lignes,
        retour chariot et espaces.
      
        Sous Windows, si une valeur d'option représente un chemin de
        dossier, vous devez spécifier la valeur en utilisant
        ‘/’ plutôt que
        ‘\’ comme séparateur de
        dossiers. Si vous utilisez use
        ‘\’, vous devez le doubler
        ‘\\’, car
        ‘\’ est le caractère de
        protection de MySQL.
      
Si un groupe d'options est le même que le nom d'un programme, les options de ce groupe seront réservées à ce programme.
        Le groupe d'options [client] est lu par tous
        les programmes clients et pas par le serveur
        mysqld. Cela vous permet de spécifier les
        options qui s'appliqueront à tous les clients. Par exemple,
        [client] est le groupe parfait pour
        spécifier le mot de passe que vous utilisez pour vous connecter
        au serveur. Mais assurez vous que le fichier est lisible et
        modifiable uniquement par vous-même pour que personne ne puisse
        découvrir votre mot de passe. Assurez vous de n'utiliser que
        des options qui seront reconnues par tous
        les programmes client. Les programmes qui ne comprennent pas une
        option vont afficher un message d'erreur lorsque vous les
        exécuterez.
      
        Depuis MySQL 4.0.14, si vous voulez créer des groupes d'options
        qui ne doivent être lus que par une versions spécifique du
        serveur mysqld, vous pouvez le faire en
        utilisant des groupes avec des noms du type
        [mysqld-4.0],
        [mysqld-4.1], etc. Le groupe suivante indique
        que l'option --new soit utilisée avec les
        serveur de version 4.0.x :
      
[mysqld-4.0] new
Voici un fichier d'options globales typique :
[client] port=3306 socket=/tmp/mysql.sock [mysqld] port=3306 socket=/tmp/mysql.sock key_buffer_size=16M max_allowed_packet=8M [mysqldump] quick
        Le fichier d'options ci-dessus utilise la syntaxe
        var_name=value pour les variables
        key_buffer_size et
        max_allowed_packet. Avant MySQL 4.0.2, vous
        auriez besoin d'utiliser la syntaxe
        set-variable à la place (comme présenté
        précédemment).
      
Voici un fichier d'options utilisateur classique :
[client] # Le mot de passe suivant sera envoyé par tous les clients standards MySQL password="my_password" [mysql] no-auto-rehash set-variable = connect_timeout=2 [mysqlhotcopy] interactive-timeout
        Ce fichier d'options utilise la syntaxe
        set-variable pour spécifier la variable
        connect_timeout. Depuis MySQL 4.0.2, vous
        pouvez aussi configurer la variable avec
        connect_timeout=2.
      
        Si vous avez une distribution source, vous trouverez des
        exemples de configuration dans les fichiers nommés
        my-xxxx.cnf dans le dossier
        support-files. Si vous avez une
        distribution binaire, regardez dans le dossier
        DIR/support-files, où
        DIR est le chemin de l'installation MySQL
        (typiquement /usr/local/mysql).
        Actuellement, il y a des exemples de configuration pour des
        systèmes petits, moyens, grands et très grands. Vous pouvez
        copier l'un des fichiers my-xxxx.cnf dans
        votre dossier utilisateur (renommez le fichier en
        .my.cnf) pour le tester.
      
        Note : sous Windows, le
        fichier d'options .cnf peut ne pas afficher
        son extension.
      
Tous les programmes MySQL qui supportent les fichiers d'options gèrent les options suivantes de ligne de commande :
            --no-defaults
          
N'utilise aucun fichier d'options.
            --print-defaults
          
Affiche le nom du programme et toutes les options qui seront lues dans les fichiers d'options.
            --defaults-file=path_name
          
            Utilise uniquement le fichier d'options indiqué.
            path_name est le chemin complet pour y
            accéder.
          
            --defaults-extra-file=path_name
          
            Lit ce fichier d'options après le fichier d'options
            globales, et avant le fichier d'options utilisateurs.
            path_name est le chemin complet pour y
            accéder.
          
        Pour fonctionner correctement, toutes ces options doivent
        immédiatement suivre le nom de la commande en ligne, hormis
        --print-defaults qui peut être utilisée juste
        après --defaults-file et
        --defaults-extra-file.
      
        Dans les scripts Shell, vous pouvez utiliser le programme
        my_print_defaults pour analyser les fichiers
        d'options. L'exemple suivant montre le résultat que
        my_print_defaults peut produire lorsqu'on lui
        demande d'afficher les options des groupes
        [client] et [mysql] :
      
shell> my_print_defaults client mysql
--port=3306
--socket=/tmp/mysql.sock
--no-auto-rehash
Note pour les développeurs : la gestion des fichiers est implémentée en C dans la bibliothèque cliente simplement en traitant les options qui sont trouvées, (c'est à dire, les options du groupe appropriée), et avant les options de ligne de commande. Cela fonctionne correctement avec les programmes qui utilisent la dernière option des options spécifiées plusieurs fois. Mais si vous avez un programme C ou C++ qui gère les options de cette manière mais ne lit pas les fichiers d'options, vous aurez peut être à ajouter seulement deux lignes pour lui donner cette fonctionnalité. Voyez le code source des clients MySQL standard pour voir comment faire.
De nombreux autres langages s'interfacent avec MySQL grâce à la bibliothèque C, et certains fournissent un moyen d'accéder aux fichiers d'options. Cela inclut les langages Perl et Python. Voyez la documentation de votre interface favorite pour plus de détails.
        Pour spécifier des options en utilisant des variables
        d'environnement, utilisez la commande d'affectation de votre
        système. Par exemple, sous Windows ou sous NetWare, vous pouvez
        utiliser la variable USER pour spécifier
        votre compte utilisateur. Utilisez cette syntaxe :
      
SET USER=your_name
        La syntaxe sous Unix dépend de votre Shell. Supposons que vous
        voulez spécifier le numéro de port TCP/IP en utilisant la
        variable MYSQL_TCP_PORT. La syntaxe Bourne
        Shell et ses variantes sont (sh,
        bash, zsh, etc.) est :
      
MYSQL_TCP_PORT=3306
        Pour csh et tcsh, utilisez
        cette syntaxe :
      
setenv MYSQL_TCP_PORT 3306
        Les commandes pour spécifier les variables d'environnement
        peuvent être exécutées à l'invite de commande, et prennent
        effet immédiatement. Ces configurations persistent jusqu'à
        votre déconnexion. Pour que ces configurations soient
        effectives lors de votre reconnexion, ajoutez les commandes
        appropriées dans votre fichier de démarrage. Typiquement, les
        fichiers de démarrage sont AUTOEXEC.BAT
        sous Windows, .bash_profile pour
        bash, ou .tcshrc pour
        tcsh. Consultez la documentation de votre
        interpréteur de ligne de commande pour les détails
        spécifiques.
      
La section Annexe E, Variables d'environnement liste toutes les variables d'environnement qui affectent le fonctionnement de MySQL.
        De nombreux programmes MySQL ont des variables internes, qui
        peuvent être modifiées durant l'exécution. Depuis MySQL
        version 4.0.2, les variables de programme peuvent être
        spécifiées de la même fa¸on que toute autre option qui prend
        une vlaeur. Par exemple, le client mysql
        utilise la variable max_allowed_packet qui
        contrôle la taille maximale du buffer de communication. Pour
        spécifier la variable max_allowed_packet de
        mysql, à une valeur de 16Mo, utilisez l'une
        de ces deux commandes :
      
shell>mysql --max_allowed_packet=16777216shell>mysql --max_allowed_packet=16M
        La première commande spécifie la valeur en octets. La seconde
        spécifie la valeur en méga-octets. Les valeurs des variables
        peuvent être suffixées par K,
        M ou G (majuscule ou
        minuscule), pour indiquer une unité de kilo-octets, mega-octets
        ou giga-octets.
      
Dans un fichier d'options, la configuration de la variable se fait sans les tirets initiaux :
[mysql] max_allowed_packet=16777216
Ou :
[mysql] max_allowed_packet=16M
Si vous voulez, les soulignés d'un nom de variable peuvent être spécfiés comme des tirets.
        Avant MySQL 4.0.2, les noms de variables de programmes
        n'étaient pas reconnus comme des noms d'options. Au lieu de
        cela, il faut utiliser l'option --set-variable
        pour assigner une valeur :
      
shell>mysql --set-variable=max_allowed_packet=16777216shell>mysql --set-variable=max_allowed_packet=16M
Dans un fichier d'options, omettez les tirets initiaux :
[mysql] set-variable = max_allowed_packet=16777216
Ou :
[mysql] set-variable = max_allowed_packet=16M
        Avec --set-variable, les soulignés d'un nom de
        variable ne peuvent pas être spécifiés sous forme de tiret
        dans les versions de MySQL plus ancienne que la 4.0.2.
      
        L'option --set-variable est toujours reconnue
        par MySQL versions 4.0.2 et plus récent, mais elle est
        obsolète.
      
Certaines variables serveurs peuvent être configurées durant l'exécution. Voyez la section Section 5.2.3.1, « Variables système dynamiques ».
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.