|
Installer et configurer Linux (premiers pas)
| E. Configurer MySQL |
 |
E.1 Télécharger MySQL
Nous n'allons pas compiler MySQL. Nous nous contenterons de télécharger les packages binaires.
Les packages RedHat sont téléchargeables depuis le site http://www.mysql.org
| Les Packages à télécharger : |
| Server (i386) MySQL-3.23.44-1.i386.rpm |
couche serveur MySQL |
| Client programs (i386) MySQL-client-3.23.44-1.i386.rpm |
couche client MySQL |
| Client shared libraries (i386) MySQL-shared-3.23.44-1.i386.rpm |
Bibliothèques indispensables pour Kylix |
les noms des packages sont donnés à titre indicatif, ils varient suivant la version.
Comment installer un package.
E.2 Démarrer et arrêter le démon MySQL
Le démon SQL se lancera automatiquement au prochain démarrage.
Pour le lancer à la main :
On peut appeler directement le script qui lance MySQL à chaque démarrage du serveur.
Démarrage de Mysql :
$ /etc/rc.d/init.d/mysql start
Arrêt de Mysql :
$ /etc/rc.d/init.d/mysql stop
On peut aussi appeler directement le démon :
$ /usr/bin/safe_mysqld --user=mysql &
le & signifie que l'on lance le processus et que l'on n'attend pas la fin de son execution. Sinon, le
shell reste bloqué jusqu'à ce que l'on tue le processus depuis un autre shell, ou bien qu'on le stoppe avec Ctrl+C.
E.3 Le shell MySQL
Lancer le shell de MySQL :
$ /usr/mysql –u<user name> -p<password>
Il faut le faire en root au début, sinon vous n'avez pas les privilèges pour créer une nouvelle base.
Par défaut, une base nommée mysql est créée. Ne la supprimez pas.
Elle contient la liste des utilisateurs ainsi que leurs droits.
E.4 Exemple d'utilisation du shell MySQL
Installer la base de données toto
>create database toto;
>use toto;
>source toto.sql;
>quit;
un ";" termine chaque ligne de commande du shell.
Le fichier toto.sql est un fichier texte. C'est le dump d'une base MySQL existante, située dans le répertoire où vous étiez placé en
lançant le shell MySQL. Exemple d'un fichier MySQL :
| |
#
# Structure de la table `PERSONNE`
#
DROP TABLE IF EXISTS PERSONNE;
CREATE TABLE PERSONNE (
ID_PERSONNE int(11) NOT NULL default '0',
NOM varchar(100) NOT NULL default '',
PRENOM varchar(100) NOT NULL default '',
AGE tinyint(4) NOT NULL default '0',
PRIMARY KEY (ID_PERSONNE)
) TYPE=MyISAM;
|
Notes :
1) le fichier toto.sql a pu être généré par exemple par PhpMyAdmin ou par la commande shell mysqldump.
2) Il n'est pas possible
d'importer le dump d'une base issue d'un SGBD différent (Interbase, SQL Server ou Oracle). Les langages SQL de ces différents
SGBD ne sont pas compatibles. Il faut réécrire en grande partie la plupart des déclarations.
E.5 Quelques généralités
Le port par défaut de MySQL est 3306.
Emplacement physique des fichiers (par défaut) :
dans /usr/bin/ : mysql, mysqladmin, mysqld
dans /etc/ ou /var/lib/mysql/ :my.cnf
dans /var/lib/mysql/mysql/ : emplacement physique des fichiers de la base
Je vous conseille d'installer PhpMyAdmin (abordé plus loin) pour créer vos premiers utilisateurs MySQL.
Son utilisation est beacoup plus conviviale que celle du shell de MySQL.
E.6 Les variables d'administration MySQL
Certaines variables se paramètrent au lancement du démon :
$ mysql -O variable=valeur
Les autres se paramètrent dans le fichier de configuration /etc/my.cnf :
[mysqld]
set-variable= variable=valeur
Dans les deux cas, il faut arrêter MySQL et le relancer pour que les changements prennent effet.
E.7 Compatibilité de MySQL avec les autres SGBD
MySQL est un SGBD extrèmement léger. Il occupe peu de place en mémoire et est très performant. En contre partie,
de nombreuses fonctionalités ne sont pas implémentées.
Liste des fonctionnalités non implémentées dans MySQL 3.23
- Le SELECT de SELECT, exemple :
SELECT * FROM table1 WHERE id IN (SELECT id FROM table2);
- SELECT INTO TABLE
- Les transactions
- Les procédures stockées
- Les triggers
- Les clefs étrangères
- Les vues
- COMMIT-ROLLBACK, ON DELETE CASCADE, etc.
L'équipe de développement de MySQL justifie tous ces choix de la façon suivante :
MySQL serait ralenti d'un facteur de 2 à 4. MySQL est beaucoup plus rapide que bien d'autres bases SQL
(en général, de 2 à 3 fois plus rapide.)
Ne fuyez pas ! MySQL demeure tout de même un bon SGBD, fiable, des améliorations sont constamment apportées
au langage. Listes des améliorations prévues dans les prochaines versions : http://www.mysql.com/doc/T/O/TODO.html
|