Vous êtes sur la page 1sur 7

Administration des Bases de Données

Introduction

Objectifs du Cours

Programme Complet du Cours

Chapitre 1 : Présentation de MySQL

……………Les Produits Et Service de MySQL

……………Architecture de MySQL

Chapitre 2 : Le Serveur MySQL

…………… Configuration du Serveur MySQL

…………… Variables de Serveur Dynamiques

…………… Fichiers Journaux Et d'Etat

Chapitre 3 : Les Clients MySQL

…………… Présentation des Clients d'Administration

…………… Utilisation du Client MySQL

Chapitre 4 : Présentation des Types de Données 

……………Les Métadonnées 

…………… Les Moteurs de Stockage

Chapitre 5 : Le Partitionnement

…………… Présentation Et Avantages du Partitionnement

…………… Modification Et Suppression de Partitions

Chapitre 6 : Gestion de La Sécurité Et des Utilisateurs

…………… Transactions Et Verrouillage

…………… Mesures de Sécurité, Privilèges, Niveaux d'Accès

Chapitre 7 : Administration des Données

…………… Maintenance des Tables

…………… Exportation Et Importation de Données

……………Gestion des Vues

Chapitre 8 : Sauvegarde Et Récupération

…………… Planification de La Récupération

…………… Méthodes de Sauvegarde, Récupération de Données

1. Administration des Bases de Données : 2 Crédits (30 heures); CM, TD, TP :

1.1. Introduction ;

1.2. Présentation de MySQL, des Produits, des Services ;

1.3. Architecture de MySQL ;

1.4. Le Serveur MySQL ;

1.5. Configuration du Serveur MySQL, Configuration de MySQL, Variables de Serveur Dynamiques, Modes SQL du Serveur, Fichiers Journaux Et
d'Etat, Journalisation Binaire ;

1.6. Les Clients MySQL, Présentation des Clients d'Administration, Appel de Programmes Client MySQL, Utilisation du Client MySQL, Client
MysqlAdmin, Connecteurs MySQL ;

1.7. Présentation des Types de Données ;

5
1.8. Métadonnées ;

1.9. Moteurs de Stockage ;

1.10. Le Partitionnement : Présentation Et Avantages du Partitionnement, Création d'Une Table Partitionnée, Obtention des Informations de Partition,
Modification Et Suppression de Partitions ;

1.11. Transactions Et Verrouillage ;

1.12. Gestion de La Sécurité Et des Utilisateurs, Risques de Sécurité, Mesures de Sécurité, Privilèges, Niveaux d'Accès, Notamment : 1 - Comptes
Utilisateur, 2 - Bases de Données, 3 - Tables, 4 - Colonnes, 5 - Routines Stockées, Gestion des Comptes Utilisateur, Contrôle de L’Accès Au
Client, Utilisation de Connexions Sécurisées ;

1.13. Maintenance des Tables ;

1.14. Exportation Et Importation de Données : Vues, Qu'est - Ce Qu'Une Vue?, Création de vues, Vues Modifiables, Gestion des Vues ;

1.15. Sauvegarde Et Récupération, Planification de La Récupération, Présentation des Outils de Sauvegarde, Sauvegarde Brute, Sauvegarde Logique
(texte), Sauvegarde des Fichiers Journaux Et d'Etat, Réplication Comme Aide à La Sauvegarde, Comparaison Entre Les Méthodes de Sauvegarde,
Récupération de Données.

Introduction ;

Qu’est-ce qu’une base de données ?

Une base de données est un conteneur qui va servir à stocker toutes sortes de données : des dates, chiffres, mots, etc. de façon organisée et sans date
d’expiration.

De manière pratique, une base de données va être constitué d’un ensemble de fichiers.

Présentation de MySQL, des Produits, des Services ;

Qu’est-ce que le MySQL ?

Le MySQL est ce qu’on appelle un système de gestion de bases de données. De manière très schématique, c’est un programme qui va nous permettre de
manipuler simplement nos bases de données.

5
En effet, les bases de données sont des systèmes très complexes. Nous utilisons un système de gestion de bases de données pour cacher cette complexité et
effectuer simplement les opérations dont nous avons besoin sur nos bases de données.

Le MySQL est loin d’être le seul système de gestion de bases de données ; il en existe bien d’autres. Parmi les plus connus, on peut ici notamment citer SQL
Server, MS Access ou encore Oracle. Chacun de ces systèmes de gestion de bases de données fonctionne de manière similaire (ils permettent d’envoyer des
instructions SQL) et propose des fonctionnalités relativement équivalentes.

Dans ce cours, nous utiliserons le MySQL pour des raisons simples : il est gratuit, simple d’utilisation, utilise du SQL standard et le PHP supporte son usage.

Nous allons donc pouvoir utiliser le MySQL en PHP pour passer des ordres à nos bases de données : le MySQL va nous servir à envoyer nos requêtes écrites
en SQL standard à nos bases de données.

Dans ce cours, nos bases de données seront ainsi des bases de données MySQL.

MySQL est un système de gestion de base de données relationnelle (SGBDR) basé sur SQL (Structured Query Language). MySQL fonctionne sur
pratiquement toutes les plates-formes, y compris Linux, Unix et Windows. Il est entièrement multi-thread avec un noyau de threads, et fournit des API
(Application Programming Interface) pour de nombreux langages de programmation, notamment C, C + +, Eiffel, Java, Perl, PHP, Python, et Tcl.

MySQL est utilisé dans une large gamme d'applications, Le commerce électronique, les bases de données Web... Selon MySQL AB, avec plus de
dix millions de serveurs MySQL installés dans le monde entier, MySQL est devenu le leader mondial du marché des Bases de Données. MySQL compte des
clients prestigieux comme Google, la NASA ou Suzuki...

MySQL bénéficie d'un large public, car:

Il est facile à comprendre:

Sa syntaxe simple en fait un langage facile à comprendre pour les programmeurs et des débutants.

Le Langage est fonctionnel:

MySQL fonctionne sur de nombreuses plates-formes différentes.

Dispose d'une vaste bibliothèque de fonctions et d'API:

API pour C, C + +, Eiffel, Java, Perl, PHP, Python, Ruby et Tcl sont disponibles. Les fonctions SQL sont mises en place en utilisant une bibliothèque de
classes optimisées.

Multi Thread:

Complètement multi-thread utilisant un noyau de threads.

Haute capacité de storage:

Pour vous donner une idée: De grosses entreprises actuelles utilisent le serveur MySQL avec plus de 100 000 tables et 1 000 000 000 d'enregistrements.

5
1) Historique En 94, M. Widenius crée un nouveau serveur basé sur les caractéristiques de msql.

En 95, Tcx distribue MySQL sur Internet.

Une version 3.11.1 est diffusée dès 1996 (serveur fonctionnant sur plusieurs plate-formes).

La version actuelle est la version 3.23.27

2) Avantages

Rapide

Le serveur MySQL est trés rapide. Des tests de performances sont disponibles sur le site de MySQL

Facile à utiliser

MySQL est beaucoup plus simple à utiliser que la plupart des serveurs de bases de données commerciaux.

API diverses

On peut effectuer diverses opérations sur une base MySQL en utilisant des interfaces écrits en C, Perl, C++, Java, Python, PHP.

Coût

Jusqu'à la version 3.20.32a, mySQL était sous licence GPL.

Il faut une licence pour faire tourner mySQL sous Windows.

Sous les autres plates-formes, l'utilisation de mySQL est gratuite dans un but non commercial sinon il faudra acheter une licence pour environ 200 $ US.

Connexion et Sécurité

MySQL dispose d'un système de sécurité permettant de gérer les personnes et les machines pouvant accéder aux différentes bases.

Portabilité

MySQL tourne sur divers systèmes tels que Unix, Windows, Linux ou OS/2.

Distribution ouverte

Les sources étant fournies, il est possible d'améliorer mySQL.

3) Défauts

MySQL ne peut pas gérer les points suivants :

Subselect.

Les requêtes imbriquées ne sont pas supportées par MySQL.

Vous devez donc traduire vos requêtes imbriquées en requêtes classiques.

Architecture de MySQL ;

Présentation de l’architecture MySQL

Une architecture MySQL doit comprendre les composants suivants : le serveur de données MySQL Server, des programmes clients, des programmes non
clients d’administration et des utilitaires MySQL.

Le serveur de données accepte les connexions de clients effectuant des demandes d’extraction ou de mises à jour de données.
5
Une communication client/serveur est alors établie entre systèmes d’exploitation identiques ou différents.

Les programmes clients peuvent utiliser différents protocoles de communication et des interfaces API pour manipuler les données gérées par la brique dorsale
de l’architecture MySQL.

Ces protocoles sont principalement des piles TCP/IP et Socket.

MySQL Server utilisera alors des composants pour traiter l’information SQL : les Core Shared Subsystems.

Enfin, les architectures MySQL reposent plus généralement sur des plateformes LAMP, pour Linux Apache MySQL et PHP.

Le SGBDR My SQL fait la distinction entre les bases (ou schémas) et le stockage. Il propose aussi à l’intérieur d’une même base plusieurs façons de stocker
les données. Le stockage des données est assuré par des moteurs de tables.

MySQL disposent de plusieurs moteurs de tables, qui définissent l’accès à certaines fonctionnalités. Par exemple, le moteur MYISAM ne supporte pas les clés
étrangères et les transactions alors que le moteur InnoDB les supporte. Le catalogue système (tables où est enregistrée la définitions des objets : tables, index,
déclencheurs ...) se trouve dans le schéma INFORMATION_SCHEMA (mysql). Les tables de ce schéma utilisent le moteur de table MYISAM. Ces tables
contiennent aussi les procédures et triggers.

Le journal des modifications (utilisé pour les opérations de restauration) est défini au niveau du moteur. Il est toutefois possible de spécifier les bases dont les
modifications seront enregistrées dans ce journal (attention à cette fonctionnalité, bien se référer à la documentation MySQL pour bien comprendre l’impact de
celle ci).

Le Serveur MySQL ;

5
En résumé : les notions à retenir

On appelle base de données une collection de données stockées dans des fichiers particuliers ;

Les bases de données vont nous permettre de stocker de grandes quantités de données sans date d’expiration. Nous allons ensuite pouvoir manipuler ces
données

Le langage des bases de données est le SQL. C’est un langage de requêtes qui va nous permettre d’accéder aux bases de données et de les manipuler ;

Nous n’allons pas pouvoir communiquer directement en SQL avec nos bases de données. Pour se faire, nous devrons utiliser un système de gestion de bases de
données comme le MySQL ;

Le MySQL va nous permettre d’envoyer des requêtes SQL. A la manière des expressions régulières, nous allons pouvoir l’utiliser avec le PHP ;

MySQL est le moteur de base de données relationnelles le plus populaire et le plus installé au monde, notamment parce qu'il stocke les données de la plupart
des applications web libres comme WordPress. Dans cette formation dédiée aux connaisseurs du langage SQL en général, vous allez apprendre l'essentiel de
ce dont vous avez besoin pour utiliser MySQL au mieux : installation de MySQL sur Linux, outils graphiques d'administration comme phpMyAdmin ou
MySQL Workbench, création de bases de données et d'utilisateurs avec leurs permissions, etc. Vous verrez également les principaux types de données de
MySQL, y compris les types complexes, ainsi que la modification de la structure des tables à l'aide de commandes SQL. Enfin, vous verrez les spécificités du
dialecte SQL de MySQL, notamment des fonctions particulières pour la manipulation des chaînes de caractères et des dates. Grâce à cette découverte, vous
allez ainsi pouvoir commencer à travailler en toute confiance avec MySQL.

Caractéristiques[modifier | modifier le code]

MySQL est un serveur de bases de données relationnelles SQL développé dans un souci de performances élevées en lecture, ce qui signifie qu'il est davantage
orienté vers le service de données déjà en place que vers celui de mises à jour fréquentes et fortement sécurisées. Il est multi-thread et multi-utilisateur.

C'est un logiciel libre7, open source8, développé sous double licence selon qu'il est distribué avec un produit libre ou avec un produit propriétaire. Dans ce
dernier cas, la licence est payante, sinon c'est la licence publique générale GNU (GPL) qui s'applique. Un logiciel qui intègre du code MySQL ou intègre
MySQL lors de son installation devra donc être libre ou acquérir une licence payante. Cependant, si la base de données est séparée du logiciel propriétaire qui
ne fait qu'utiliser des API tierces (par exemple en C# ou php), alors il n'y a pas besoin d'acquérir une licence payante MySQL. Ce type de licence double est
utilisé par d'autres produits comme le framework de développement de logiciels Qt (pour les versions antérieures à la 4.5).

5
5

Vous aimerez peut-être aussi