Post-installation sous Windows
<<<
Procédures de post-installation sous Unix Création des premiers droits MySQL
>>>

2.4 Procédure de post-installation
2 Installer MySQL
 Manuel de Référence MySQL 4.1 : Version Française

Post-installation sous Windows
->Procédures de post-installation sous Unix
Création des premiers droits MySQL

2.4.2 Procédures de post-installation sous Unix

Une fois que vous avez installé MySQL sur Unix, vous devez initialiser les tables de droits, lancer le serveur, et vous assurer que tout fonctionne bien. Vous pouvez aussi configurer le démarrage et l'extinction automatique du serveur, lorsque votre serveur se lance et s'arrête.

Normalement, vous installez les tables de droits et lancez le serveur comme ceci, avec la distribution source :

shell> cd mysql_installation_directory
shell> bin/mysql_install_db
shell> bin/mysqld_safe --user=mysql &
Pour une distribution binaire (pas RPM ou PKG), faîtes ceci :

shell> cd mysql_installation_directory
shell> scripts/mysql_install_db
shell> bin/mysqld_safe --user=mysql &
Le script mysql_install_db crée la base mysql qui contient les tables de droits, et la base test que vous pouvez utiliser pour les tests avec MySQL. Ce script va aussi créer l'utilisateur root et un compte anonym. Ces deux comptes sont créés sans mot de passe. Le script mysqld_safe lance le serveur mysqld . Pour les versions de MySQL antérieure à la version 4.0, utilisez safe_mysqld au lieu de mysqld_safe .

mysql_install_db ne va pas écraser vos anciennes tables de droits : il peut donc être utilisé sans souci en toutes circonstances. Si vous ne voulez pas de la base de test test , vous pouvez la supprimer avec la commande mysqladmin -u root drop test après redémarrage du serveur.

Les tests sont plus faciles à exécuter depuis la racine de la distribution MySQL. Pour les distributions binaires, c'est le dossier d'installation (généralement, /usr/local/mysql ). Pour une distribution source, c'est le dossier principal des sources MySQL.

Dans les commandes présentées dans cette section dans les sections suivantes, BINDIR est le chemin du dossier dans lequel les programmes comme à mysqladmin et mysqld_safe sont installés. Pour une distribution binaire, c'est le dossier bin de la distribution. Pour une distribution source, BINDIR vaut probablement /usr/local/bin , à moins que vous n'ayez spécifié un autre dossier d'installation que /usr/local lors de l'exécution de configure . EXECDIR est le chemin du dossier dans lequel mysqld est installé. Pour la distribution binaire, c'est le même que BINDIR . Pour la distribution source, EXECDIR vaut probablement /usr/local/libexec .

Voici le détail des tests :
  • Si nécessaire, lancez le serveur mysqld et créez les tables de droits MySQL qui déterminent comment les utilisateurs peuvent se connecter au serveur. C'est généralement fait avec le script mysql_install_db :
    
    shell> scripts/mysql_install_db
    
    Typiquement, mysql_install_db doit être exécuté la première fois que vous installez MySQL. Par conséquent, si vous mettez à jour une installation existante, vous pouvez éviter cette étape. Cependant, mysql_install_db est sécuritaire à utiliser, et ne modifier pas des tables qui existent déjà, alors, si vous n'êtes pas sûr de vous, vous pouvez toujours lancer mysql_install_db .

    mysql_install_db crée six tables ( user , db , host , tables_priv , columns_priv et func ) dans la base mysql . Une description des droits initiaux est disponible dans la section Mise en place des privilèges initiaux de MySQL . En bref, ces droits permettent à l'utilisateur MySQL root de faire ce qu'il veut, et à n'importe qui de créer et utiliser des bases de données avec le nom de test ou commençant par test_ .

    Si vous n'avez pas créé les tables de droits, l'erreur suivante sera inscrite dans le fichier de log d'erreur de votre serveur :
    
    mysqld: Can't find file: 'host.frm'
    
    Cela peut aussi arriver avec la distribution binaire de MySQL, si vous ne lancez pas MySQL en éxécutant exactement ./bin/mysqld_safe . .Vous aurez peut être besoin d'utiliser mysql_install_db en tant que root . Cependant, si vous préférez, vous pouvez lancer le serveur MySQL comme un utilisateur sans droit (non- root ), du moment que cet utilisateur peut lire et écrire dans le dossier de la base de données. Des instructions pour lancer MySQL comme un utilisateur sans droits sont disponibles dans la section Comment faire tourner MySQL en tant qu'utilisateur normal .

    Si vous avez des problèmes avec mysql_install_db , voyez la section Problèmes avec mysql_install_db .

    Il y a des alternatives à l'utilisation du script mysql_install_db , tel qu'il est fournit dans la distribution MySQL :
    • Vous pouvez éditer le script mysql_install_db avant de l'exécuter, pour modifier les droits initiaux qui seront installés dans les tables de droits. C'est pratique si vous voulez installer MySQL sur plusieurs machines, avec les mêmes droits. Dans ce cas, vous devrez peut être ajouter quelques commandes INSERT supplémentaires dans les tables mysql.user et mysql.db .
    • Si vous voulez changer le contenu des tables de droits après les avoir installé, vous pouvez utiliser mysql_install_db , puis mysql -u root mysql pour vous connecter aux tables de droits avec le compte MySQL root , puis envoyer des requêtes SQL pour modifier directement les tables.
    • Il est possible de re-créer les tables de droits entièrement, même après leur création. Vous ferez cela après avoir installé les tables, mais que vous voulez les remettre à zéro après édition. mysql_install_db .
    Pour plus d'information sur ces alternatives, voyez Mise en place des privilèges initiaux de MySQL .
  • Lancez le serveur MySQL comme ceci :
    
    shell> cd mysql_installation_directory
    shell> bin/mysqld_safe &
    Pour les versions de MySQL antérieure à la version 4.0, remplacez bin/safe_mysqld par bin/mysqld_safe dans la commande finale.

    Si vous avez des problèmes au démarrage du serveur, voyez Lancer et résoudre des problèmes avec MySQL .

  • Utilisez mysqladmin pour vérifier que le serveur fonctionne. La commande suivante vous permet de faire un test simple pour vérifier que le serveur est actif et qu'il répond aux connexions :
    
    shell> BINDIR/mysqladmin version
    shell> BINDIR/mysqladmin variables
    Le résultat de mysqladmin version varie légèrement, suivant votre plate-forme et votre version de MySQL, mais il doit être proche de ceci :
    
    shell> BINDIR/mysqladmin version
    mysqladmin  Ver 8.40 Distrib 4.0.18, for linux on i586
    Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
    This software comes with ABSOLUTELY NO WARRANTY. This is free software,
    and you are welcome to modify and redistribute it under the GPL license
    Server version          4.0.18-log
    Protocol version        10
    Connection              Localhost via Unix socket
    TCP port                3306
    UNIX socket             /tmp/mysql.sock
    Uptime:                 16 sec

    Threads: 1  Questions: 9  Slow queries: 0
    Opens: 7  Flush tables: 2  Open tables: 0
    Queries per second avg: 0.000
    Memory in use: 132K  Max memory used: 16773K
    Pour voir ce que vous pouvez faire d'autre avec mysqladmin , utilisez l'option --help .
  • Verifiez que vous pouvez éteindre le serveur :
    
    shell> BINDIR/mysqladmin -u root shutdown
    
  • Vérifiez que vous pouvez relancer le serveur. Pour cela, utilisez mysqld_safe ou mysqld directement. Par exemple :
    
    shell> BINDIR/mysqld_safe --log &
    
    Si mysqld_safe échoue, essayez de l'exécuter directement depuis le dossier d'installation MySQL (si vous n'y êtes pas déjà). Si cela ne fonctionne toujours pas, voyez Lancer et résoudre des problèmes avec MySQL .
  • Exécutez les tests simples pour vérifier que le serveur fonctionne. Le résultat devrait être proche de celui-ci :
    
    shell> BINDIR/mysqlshow
    +-----------+
    | Databases |
    +-----------+
    | mysql     |
    +-----------+

    shell> BINDIR/mysqlshow mysql
    Database: mysql
    +--------------+
    |    Tables    |
    +--------------+
    | columns_priv |
    | db           |
    | func         |
    | host         |
    | tables_priv  |
    | user         |
    +--------------+

    shell> BINDIR/mysql -e "SELECT host,db,user FROM db" mysql
    +------+--------+------+
    | host | db     | user |
    +------+--------+------+
    | %    | test   |      |
    | %    | test_% |      |
    +------+--------+------+
    Il y a aussi une suite de tests dans le dossier sql-bench (sous le dossier d'installation MySQL) que vous pouvez utiliser pour comparer les performances de MySQL sur différentes plate-formes. La suite de tests utilise le module Perl DBI pour assurer une interface avec les autres bases de données. Les modules Perl suivants sont aussi nécessaires pour exécuter la suite de tests :
    
    DBI
    DBD::mysql
    Data::Dumper
    Data::ShowTable
    Ces modules sont disponibles sur la bibliothèque CPAN http://www.cpan.org/ . Installer Perl sur Unix .

    Le dossier sql-bench/Results contient des résultats de tests sur différentes plates-formes et bases. Pour lancer tous les tests, exécutez ces commandes :

    
    shell> cd sql-bench
    shell> run-all-tests
    Si vous n'avez pas de dossier sql-bench , vous avez probablement installé MySQL avec un fichier RPM, différent du RPM source. Le RMP source inclut le dossier sql-bench ) Dans ce as, vous devez d'abord installer la suite de tests avant de l'utiliser. Depuis MySQL version 3.22, il y a des fichiers de tests RPM appelé mysql-bench-VERSION-i386.rpm , qui contiennent le code et les données.

    Si vous avec une distribution source, il y a aussi des tests dans le sous-dossier tests . Par exemple, pour lancer auto_increment.tst , faîtes :

    
    shell> BINDIR/mysql -vvf test < ./tests/auto_increment.tst
    
    Les résultats attendus des tests sont disponibles dans le fichier ./tests/auto_increment.res .

Sommaire :

<< Procédures de post-installation sous Unix >>
Post-installation sous Windows Procédure de post-installation Création des premiers droits MySQL