Accueil
Rechercher:
sur developpez.com sur les forums
Forums | Tutoriels | F.A.Q's | Participez | Hébergement | Contacts
Accueil Conception Java DotNET Visual Basic  C  C++ Delphi MS-Office SQL & SGBD Oracle  4D  Business Intelligence
Club Emploi Blogs   TV   Dév. Web PHP XML Python Autres 2D-3D-Jeux Sécurité Windows Linux PC Mac
FORUM LINUX FAQ LINUX TUTORIELS LINUX LIVRES LINUX LINUX TV UNIX GTK+ Qt APACHE
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

Responsable bénévole de la rubrique Linux Professionnel : Olivier Van Hoof - Contacter par EMail :
Vos questions techniques : forum d'entraide Linux Professionnel - Publiez vos articles, tutoriels et cours
et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones
Nous contacter - Copyright © 2000-2008 www.developpez.com - Legal informations.