Vous êtes sur la page 1sur 8

BTS IG_DA Module : DAIGL ITO

BTS IRIS

BASE DE DONNÉES: LCD M. MBONGO Ivan

LE SQL : LANGAGE DE CONTROLE DE DONNEES


Chaque utilisateur de base de données (comme Oracle ou SQL Server) dispose d’un nom et d’un mot de passe et
possède également des tables, des vues et des ressources qu’il a créés.

Le LCD(Langage de Contrôle de Données) consiste à définir des permissions au niveau de l’utilisateur d’une base de
données.

1. Gestion des utilisateurs


a. Créer un utilisateur
CREATE USER ‘Ivan’@‘localhost’ IDENTIFIED BY ‘ivpass’;
L’utilisateur ……………………….dont le mot de passe ………………………………….. est autorisé à se connecter sur la machine
locale.

L’utilisateur est défini par deux éléments :

• Son Login
• L’hôte : l’adresse à laquelle l’utilisateur va se connecter.

(Si l’utilisateur se connecte à partir de la machine sur laquelle le serveur MySQL se trouve, on peut utiliser
‘localhost’. Sinon, on utilise en général une adresse IP ou un nom de domaine.)

Exemple :
CREATE USER ‘basso’@‘192.168.12.%’ IDENTIFIED BY ‘bapass’;
Signifie que l’utilisateur ………………………..peut se connecter sur n’importe quel hôte dont l’adresse IP commence par

…………………………………………….

Remarques :

- Si on ne précise pas l’hôte, l’utilisateur sera autorisé à se connecter de n’importe


quel hôte.
- De même, il est possible de créer un utilisateur sans mot de passe

Application :

• Donnez la commande pour créer les utilisateurs admin identifié par le mot de passe « toto » et
visiteur sans mot de passe autorisées à se connecter sur tout hôte du domaine aninf.ga

...................................................................................................................................................................

...................................................................................................................................................................

...................................................................................................................................................................

...................................................................................................................................................................

b. Supprimer un utilisateur
BTS IG_DA Module : DAIGL ITO
BTS IRIS

BASE DE DONNÉES: LCD M. MBONGO Ivan

Pour supprimer un utilisateur, on utilise la commande DROP USER

Exemple : Supprimer l’utilisateur visiteur : ................................................................................................

On peut également supprimer plusieurs utilisateurs :

Exemple : Supprimer les utilisateurs ivan et basso

...................................................................................................................................................................

Remarques : Cette opération requière de posséder les droits suivants :


• CREATE USER (c’est le droit pour créer des utilisateurs, qui sert également à les supprimer).
• DELETE sur la base de données mysql.
2. La commande GRANT : accorder des privilèges
Lorsque l’on crée un utilisateur avec CREATE USER, celui-ci n’a au départ aucun privilège, aucun droit.

En SQL, avoir un privilège, c’est avoir l’autorisation d’effectuer une action sur un objet.

a. Donner un privilège à un utilisateur sur une table


Le script suivant donne le droit à visiteur d’exécuter la commande SELECT à la client de la base de données GESCOM.

...................................................................................................................................................................

...................................................................................................................................................................

b. Donner plusieurs privilèges à plusieurs utilisateurs sur plusieurs tables


GRANT SELECT, UPDATE, DELETE, INSERT
ON GESCOM.produit, creparc.segment
To admin, visiteur ;

Quels droits donne ce script ?

...................................................................................................................................................................

...................................................................................................................................................................

...................................................................................................................................................................

c. Donner un privilège à un utilisateur sur toute une base de données


nom-base.* permet de désigner toutes les tables d’une base de données :

Exemple : GRANT SELECT on GESCOM.* to visiteur;

d. Donner tous les droits d’un coup.


Le script suivant donne tous les droits(sauf le droit d’accorder des droits) à « visiteur » sur les tables de la GESCOM :
GRANT ALL on GESCOM.* to visiteur;
BTS IG_DA Module : DAIGL ITO
BTS IRIS

BASE DE DONNÉES: LCD M. MBONGO Ivan

e. Donner un privilège à un utilisateur seulement sur certaines colonnes


Le script suivant donne tous les droits uniquement sur les colonnes NOM et ADRESSE de la table client.
GRANT SELECT(NOM,ADRESSE) on GESCOM.Client to visiteur;

f. Créer un utilisateur grâce à la commande GRANT


Lorsqu’on utilise le GRANT en désignant un utilisateur qui n’existe pas, celui-ci est créeé. On peut éventuellement
préciser son mot de passe.

GRANT SELECT
on GESCOM.*
to Nouvel_utilisateur
IDENTIFIED BY “password”;

Application 2:

 Donnez la commande pour accorder le droit à tessiah d’afficher le contenu de la table GESCOM.Client et de
créer des index sur cette table(liste des droits en annexe)

...................................................................................................................................................................

...................................................................................................................................................................

 Donnez à Edou les droits de lire et d’éditer(Ajouter, supprimer, modifier les données) à la table
GESCOM.DETAIL

...................................................................................................................................................................

...................................................................................................................................................................
BTS IG_DA Module : DAIGL ITO
BTS IRIS

BASE DE DONNÉES: LCD M. MBONGO Ivan

g. Les privilèges particuliers


❖ ALL

Accoder le privilège ALL revient donc à accorder ....................................................................................

Exemple :
GRANT ALL on GESCOM.client to ‘martine’@’localhost’ ;

❖ usage

A l’inverse de ALL, le privilège USAGE signifie ………………………………………………………………………………….

En fait, USAGE permet de modifier les caractéristiques d’un compte avec la commande GRANT, sans modifier les
privilèges du compte

Ex : modification du mot de passe de ‘yaba’@’localhost ‘ qui devient yb2019.

.........................................................................................................................................................

.........................................................................................................................................................

.........................................................................................................................................................

❖ Donner le privilège d’accorder des privilèges a d’autres utilisateurs


GRANT …………………
ON ………………….
To Admin
WITH GRANT OPTION
Ce script ...........................................................................................................................................

.........................................................................................................................................................

.........................................................................................................................................................

3. La commande REVOKE: retirer des privilèges


a. Retirer des privilèges
Le script suivant retire le droit de mise à jour sur la table client à l’utilisateur franck:
REVOKE UPDATE ON GESCOM.CLIENT TO ‘FRANCK’;

b. Retirer des privilèges


Le script suivant retire tous les privilèges de la table client à l’utilisateur franck
REVOKE ALL ON GESCOM.CLIENT TO ‘FRANCK’;
BTS IG_DA Module : DAIGL ITO
BTS IRIS

BASE DE DONNÉES: LCD M. MBONGO Ivan

c. Retirer le privilège d’accorder des privilèges


Le script suivant conserve les privilèges, mais retire le droit de les accorder à d’autres utilisateurs :

REVOKE GRANT OPTION on GESCOM.client to ‘franck’;

ANNEXE: Liste des droits utilisé en BTS


BTS IG_DA Module : DAIGL ITO
BTS IRIS

BASE DE DONNÉES: LCD M. MBONGO Ivan

Gestion des comptes utilisateurs


Un utilisateur (user) est identifié par MySQL par son nom et celui de la machine à partir de laquelle il se connecte.
Cela fait, il pourra accéder à différents objets (tables, vues, séquences, index, procédures, etc.) d’une ou de plusieurs
bases sous réserve d’avoir reçu un certain nombre de privilèges.

Classification :

Les types d’utilisateurs, leurs fonctions et leur nombre peuvent varier d’une base à une autre. Néanmoins, pour
chaque base de données en activité, on peut classifier les utilisateurs de la manière suivante :

Le DBA (DataBase Administrator). Il en existe au moins un. Une petite base peut n’avoir qu’un seul administrateur. Une base
importante peut en regrouper plusieurs qui se partagent les tâches suivantes :
• Installation et mise à jour de la base et outils éventuels ;
• Gestion de l’espace disque et des espaces pour les données ;
• Gestion des utilisateurs et de leurs objets ;
• Optimisation des performances
• Sauvegarde restauration et archivages ;
• Contact avec le support technique.

L’administrateur réseau (qui peut être le DBA) il se charge de la configuration des couches client pour les accès
distants :

Les développeurs qui conçoivent et mettent à jour la base. Ils peuvent aussi agir sur leurs objets (création et
modification des tables, index, séquences, etc.). Ils transmettent au DBA leurs demandes spécifiques (stockage,
optimisation, sécurité).

Les administrateurs d’application qui gèrent les données manipulées par la ou les applications. Pour les petites et
les moyennes bases, le DBA joue ce rôle.

Les utilisateurs qui se connectent et interagissent avec la base à travers les applications ou à l’aide d’outils
(interrogations pour la génération de rapports, ajouts, modifications ou suppressions d’enregistrements).

Tous seront des utilisateurs (au sens MySQL)


BTS IG_DA Module : DAIGL ITO
BTS IRIS

BASE DE DONNÉES: LCD M. MBONGO Ivan

SAUVEGARDE, RESTAURATION ET ARCHIVAGE D’UN


BASE DE DONNEES
Les administrateurs de bases de données créent des plans et des procédures de sauvegarde et de récupération et
s'assurent que les étapes nécessaires sont suivies.

Les sauvegardes sont un processus coûteux et long. Le DBA peut avoir à persuader la direction de prendre les
précautions nécessaires pour préserver les données.

Les administrateurs de base de données ou d'autres membres du personnel peuvent créer les sauvegardes, mais il
incombe à l'administrateur de base de données de s'assurer que tout est fait dans les délais prévus.

En cas de panne ou de perte de données, le DBA utilisera les sauvegardes existantes pour restaurer les informations
perdues dans le système. L'administrateur de base de données doit être préparé à toute éventualité, car différents
types de défaillances peuvent nécessiter des stratégies de restauration.

SAUVEGARDE MYSQL
Il y a différents types de sauvegarde mysql.

On peut sauvegarder toutes les bases de données, une seule base de données ou encore certaines tables d’une ou
de plusieurs bases.

Pour sauvegarder toutes les bases de données on utilise la commande suivante :


mysqldump -user=mon_user -p -A > fichier_destination.sql

Pour sauvegarder une base de données précise :


mysqldump –u mon_user -p nom_de_la_base > fichier_destination.sql

Pour sauvegarder plusieurs bases de données :


mysqldump –u mon_user -p –databases db1 db2 dbn > fichier_destination.sql

Pour sauvegarder une table précise :


mysqldump –u mon_user -p –-databases dbname –-tables table1 > fichier_destination.sql

Pour sauvegarder plusieurs tables


mysqldump –u mon_user -p –-databases dbname –-tables table1 … tablen > fichier_destination.sql

Pour tous ces types de sauvegarde mysql les fichiers générés sont en .sql. Cela dit on peut mettre l’extension que l’on
veut comme .txt par exemple. Ca n’a pas d’importance. Les fichiers sont lisibles en clair et contiennent toutes les
commandes SQL pour pouvoir faire une restauration mysql.
Cela dit les fichiers .sql sont volumineux. Pour gagner de la place, on va les compresser à la volée lors de la
sauvegarde.
BTS IG_DA Module : DAIGL ITO
BTS IRIS

BASE DE DONNÉES: LCD M. MBONGO Ivan

COMPRESSER LA SAUVEGARDE MYSQL


Pour compresser les données, nous allons utiliser gunzip après avoir invoqué mysqldump.

Cela donnera des commandes du type :

mysqldump < options mysqldump> | gzip > fichier_destination.sql.gz

Exemple avec la commande de sauvegarde complète :

mysqldump –u mon_user -p -A | gzip > fichier_destination.sql.gz

RESTAURATION MYSQL
Pour la restauration mysql on n’utilise plus la commande mysqldump. On utilise la commande mysql.
La commande mysql va aller lire un fichier puis le restaurer en fonction de son contenu et de ses instructions.

La restauration mysql peut se faire pour toutes les bases de données ou pour un base de données précise.

Exemple sans distinction de base de données :

mysql --user=mon_user --password=mon_password < fichier_source.sql


Autre exemple pour restaurer dans une base de données précise :

mysql --user=mon_user --password=mon_password nom_de_la_base <


fichier_source.sql

Vous aimerez peut-être aussi