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