Skip to content

Architecture, Installation et configuration de MySQL

Architecture Client / Serveur (MySQL)

MySQL est un SGBD Client/Serveur contrairement à Access qui est un SGBD Fichier

Les clients du serveur MySQL se trouvent sur la machine hôte dans le répertoire /bin.

Exécutable Serveur Description
mysqld Version standard du serveur
mysqld-debug Version de debuggage du serveur
mysqld-max Version en cours de développement (MySQL5.0)
mysqld-nt Version optimisé du serveur pour Windows NT
mysqld Version standard du serveur
mysqld-max-nt Version en cours de développement (MySQL5.0) optimisé pour Win NT

Les logiciels clients se regroupent en deux catégories :

Exécutable Client en ligne de commande Description
mysqlshow Client permettant de lister les BDD
mysqldump Client permettant d’exporter un groupe de bases vers un fichier texte
mysqlimport Client permettant d’importer un fichier contenant les instructions SQL
mysql Client permettant d’accéder au SGBD
Exécutable Client Graphique (GUI Tools) Description
mysql administrator Client permettant d’administrer le SGBD
mysql query browser Client permettant d’administrer le SGBD
mysql work bench Client permettant d’administrer le SGBD

Les utilitaires :

Exécutable Utilitaire Description
myisamchk Permet de vérifier et réparer les tables MyISAM.
myisampack Permet de compresser les tables MyISAM.
perror Permet de visualiser une erreur renvoyée par MySQL

Les connecteurs :

Les connecteurs Description
connector_odbc Driver supporté par Windows, UNIX et MacOS (bibliothèque C)
connector_j Driver dédié aux plates formes JAVA
connectornet Driver pour la plate-forme .NET (entièrement écrit en C#)
connectormxj Driver qui permet de lier les applications java et mysqlserver
connectorphp Driver qui est dédié au langage PHP (uniquement sous windows)




Un client est un programme qui se connecte au serveur par login/mot de passe et nom de l’hôte

Un utilitaire manipule directement les fichiers de BDD ou autre sans passer par une quelconque connexion au serveur.

Les bibliothèques et les connecteurs permettent de créer ou de se connecter à un serveur MySQL.


La plupart des composants MySQL sont disponible sur les plate-formes Windows, UNIX, MacOS etc.

En MySQL, il est possible de se connecter sous n’importe quelle plateforme.

Comment se connecte un client au serveur?

Un client se connecte au serveur via une adresse IP, un port ,un identifiant de connexion et des options.

Les options ont deux syntaxes :

forme courte : -(1 lettre) en général première lettre de l’option

forme longue : –option

Il existe trois catégories d’options

Catégorie Exemple Description
bool mysql –option=1
mysql –option
mysql -enable-option
Options acceptant les valeurs booléennes : ses trois valeurs permettent d’activer l’option
string mysql –option=aerty
mysql –option= »azerty »
Options acceptant les valeurs textuelles : ses deux commandes permettent d’assigner une valeur à l’option
forme courte mysql -o azerty
Options acceptant les formes courtes : ATTENTION, l’espace à droite de l’option est facultatif
Comment lancer le serveur?
	//sous Windows
	>mysql-nt

Les options du serveur MySQL :

Les options du serveur sont de type réseau :

  • mysql-nt -enabled-shared-memory
  • mysql-nt -enabled-named-pipe
  • mysql-nt-max -enabled-named-pipe

Une fois le serveur lancé, on pourra lancer le client mysql

Comment stopper le serveur?
	>mysqladmin identification
	>shutdown [--protocol=pipe]
Comment se connecter?

Pour se connecter au serveur, on exécutera en ligne de commande le client mysql

Option/identification :

Option longue Option courte Exemple Description
–host -h -h localhost Se connectera au domaine assigné
–port -P -P 3306 Se connectera au port assigné
–user -u -u root Nom d’utilisateur
–password -p -p1234 Mot de passe. ATTENTION il n’y a pas d’espace entre l’option et le mot de passe
–protocol pas de forme courte –protocol tcp tcp|socket|memory|pipe
–socket pas de forme courte –socket secureip Nom du canal utilisé / socket UNIX

L’option –protocol :

Protocol Local Distant Windows UNIX Activé par défaut
TCP/IP X X X X X
Socket X     X X
Named Pipe X   X    
Shared Memory X   X    

Microsoft privilégie les connexion PIPE alors que MySQL le désactive et n’autorise que les connexion TCP/IP par défaut

UNIX recommande l’uilisation de socket en local et MySQL de même.

Concernant Shared Memory, c’est un systeme tres intéressant pour les systemes 9x.

Quelque soit le protocole, MySQL n’est pas accessible de l’exterieur.

Configuration de MySQL

Le fichier de configuration du serveur mysql se nomme my.ini et se trouve dans le repertoire du serveur

Apres l’appel de [mysqld], il faudra ajouter enabled-shared-memory, enabled-named-pipe si on à besoin de ses protocoles

[mysqld]
enabled-shared-memory	 #active le protocole memory
enabled-named-pipe 		 #active le protocole named pipe
skip-networking			 #désactive le tcp/ip
# The TCP/IP Port the MySQL Server will listen on
port=3306

Apres toute modfication du my.ini, il est nécéssaire de redémarrer le serveur

Une fois connecté avec le client, on pourra utiliser la commande STATUS pour visualiser le protocole de connexion.

Si on ne reseigne pas de protocole à la connexion, mysql réagira comme suit :

UNIX Windows
-h localhost : socket -h . : named pipe
sans host ni protocole : socket sans host ni protocole : shared memory

Les fichiers de configurations se trouvent :

UNIX Windows
/etc/my.cnf C:WINDOWSmy.ini

On peut configurer dans le fichier de configuration des elements tels que user, host et port dans la section [client]. On peut aussi configurer les repertoire des executables et des données

#Path to installation directory. All paths are usually resolved relative to this.
basedir="D:/Program Files/MySQL/MySQL Server 5.0/"

#Path to the database root
datadir="D:/Program Files/MySQL/MySQL Server 5.0/Data/"

MySQL autorise l’installation/desinstallation de services :

	>mysql --install nomservice
	>mysql --remove nomservice

Pour spécifier un fichier de configuration :

	>mysql -u ... - p... -p ... --default-file="chemin/my.ini"