Académique Documents
Professionnel Documents
Culture Documents
MYSQL
MARCHE N°19/00033/M/MINFI/SG/DRF/SDBM/SM/IPPM DU 08 OCTOBRE 2019 PASSE
SUIVANT AUTORISATION N° 004857/L/MINMAP/SG/DGMAS/DMSPI/CE2 DU 16 SEPTEMBRE
2019 RELATIF A LA SECURISATION DES RECETTES DE L’ETAT PAR AGREGATION DES
MOYENS DE PAIEMENTS AU CAMEROUN
PRÉSENTATION GÉNÉRALE
2
Déroulement de la formation
● La formation se déroulera en 05 jours
● 04heurs (MAX) de cours par jour réparti en :
– 02 heures de théories et 02heures de pratiques
● Chaque cours comprend des objectifs à atteindre, le
contenu en lui-même, quelque exercices et des TP
● Plateforme : MySQL 5.7 et Ubuntu 18.04
3
●
PRÉREQUIS
●
Usage basic de MySQL
●
LIENS UTILES
➢
Site web officiel : http://www.mysql.com
➢
Le manuel MySQL : https://dev.mysql.com/doc/refman/8.0/en
●
Des cours intéressants :
➢
https://openclassrooms.com/fr/courses/1959476-administrez-vos-bases-de-donnees-avec-mysql
➢
https://www.mysqltutorial.org
●
Téléchargement :
➢
Windows : https://dev.mysql.com/downloads/installer/
➢
Ubuntu: https://dev.mysql.com/downloads/repo/apt/
4
SUPPORT FORMATION: ADMINISTRATION DE
MYSQL
MARCHE N°19/00033/M/MINFI/SG/DRF/SDBM/SM/IPPM DU 08 OCTOBRE 2019 PASSE
SUIVANT AUTORISATION N° 004857/L/MINMAP/SG/DGMAS/DMSPI/CE2 DU 16 SEPTEMBRE
2019 RELATIF A LA SECURISATION DES RECETTES DE L’ETAT PAR AGREGATION DES
MOYENS DE PAIEMENTS AU CAMEROUN
6
1.2. C’est quoi MySQL
● MySQL est un logiciel libre et open source, écrit en C et C++
● MySQL dérive directement de SQL (Structured Query
Language). C’est un langage déclaratif : vous dites ce que
vous voulez tout simplement et le moteur se charge du reste
● le développement commence en 1994 par David Axmark et
Michael Wildernius.
● En 1995, les deux développeurs fondent MySQL AB
7
1.2. C’est quoi MySQL
●
la première version MySQL sort de le 23/05/1995
●
En 2008, MySQL AB est rachetée par la société Sun Microsystems pour
1 milliard $
●
En 2010, Oracle rachète Sun pour 7 milliards $
●
On craint alors la fin de la gratuité de MySQL,
●
de ces inquiétudes est né MariaDB, qui est en effet un fork de MySQL
●
De nombreuses entreprises dont Google, Yahoo, Youtube, Adobe,
Aribus, Alstom utilisent MySQL
8
Les versions
9
Les propriétés de Mysql
Les propriétés de Mysql
Base de données relationnelle : MySQL stocke les données dans plusieurs zones de stockage
séparées appelées tables plutôt que de tout regrouper dans une seule grande unité de stockage
Modèle client-serveur : MySQL utilise le modèle client-serveur. La partie serveur est l’endroit
où vos données résident réellement. Pour accéder à ces données, vous devez toutefois en faire
la demande. C’est là que le client entre en jeu. En utilisant SQL – le langage de programmation
que nous avons mentionné plus haut – le client envoie une requête au serveur de base de
données pour les données dont le client a besoin.
Haute Performance et Versatilité : MySQL est basé sur le moteur InnoDB, qui est l’un des plus
puissants et versatile sur le marché. Cette versatilité le permet d’être apprécié tant pas les
amateurs que les experts.
10
Les propriétés de Mysql
Les propriétés de Mysql
Réplication : permet de sauvegarder facilement les données sur un ou
plusieurs serveurs afin d’éviter la perte d’information
Transaction : permet qu’un bloc de requête soit exécuté dans son
entière totalité
Langage de Programmation : Plusieurs langages de programmation
client telle que C, C++, Java, PHP sont compatibles avec MySQL
Autres : Vues, Procédure Stockés, Triggers, GIS
11
Les concurrents
● Oracle : édité par Oracle Corporation. C’est un SGBD payant. Il est basé sur un
autre langage procédural le PL/SQL. Oracle n’est pas conseille pour les projets de
petite taille. Sa rigidité fait qu’il n’est pas beaucoup présent dans le monde des
amateurs
● Postgresql : Logiciel Open Source. Il est moins utilisé car moins connu. La raison
de cette méconnaissance est qu’il a été longtemps disponible uniquement sous Unix
● MS Access : Microsoft Access et édité par Microsoft. Il est payant et non fonctionne
que sous Windows. Son avantage principal est l’interface graphique intuitive.
● SQL Lite : SQLite stocke toutes les données dans de simples fichiers. Par
conséquent, il ne faut pas installer de serveur de base de données. Il est très
performant mais difficile à sécuriser
12
1.3 Installation
Sous Linux (Ubuntu)
● Mettez à jour les index des paquets :
sudo apt update
● Installez MySQL :
sudo apt-get install mysql-server
● Sécurisez l’installation:
sudo mysql_secure_installation
13
1.3 Installation
●
Vérifiez la version installée sur votre serveur, avec la commande :
mysqladmin -u root -p version
●
Saisissez le mot de passe root et appuyez sur Entrée :
Enter password: ********
MySQL vous communique la version de votre serveur :
● installez, MySQL Workbench en utilisant la commande :
sudo apt-get install mysql-workbench
14
1.4 Comment se connecter à MySQL
VIA LA LIGNE DE COMMANDE
● La commande mysql permet d’interagir avec le Serveur MySQL.
● pour vous connecter au serveur, utilisez la commande :
mysql -u root -h localhost -p
➢ -u root signifie que vous êtes connecté en tant que l’utilisateur root
➢ -h localhost signifie que vous vous connecté à partir du terminal localhost
➢
-p notifie MySQL de vous demander un mot de passe
● Saisissez le mot de passe root et appuyez sur Entrée :
Enter password: ********
● Si toute est OK, le système vous affiche le Shell :
mysql>
● pour lister les bases de données sur votre serveur utilisez :
Show databases ;
Pour quitter le shell saisissez :
exit ou quit 15
Explication Du résultat de Show Databases
● information_schema : cette base de données stocke les informations sur toutes
les bases de données. Les tables, les colonnes, le type des colonnes, les
procédures des bases de données y sont recensés, avec leurs caractéristiques.
Nous verrons cette base de données plus en détail dans le prochain chapitre.
16
1.4 Comment se connecter à MySQL
VIA MySQL Workbench
Workbench est un logiciel qui fournit une interface graphique pour administrer MySQL
● vous pouvez vous connecter au Serveur en utilisant : Database > Connect to Database … ou alors en cliquant sur + situé à côté
de MySQL Connections
17
● Saisissez un Nom de Connection dans le champ connection name, exemple : Localhost. Par
défaut le username est root. Si vous utilisez un autre utilisateur, vous pouvez changer ce
nom
18
● Cliquez sur Store in Vault pour saisir le mot de passe de votre utilisateur. Une
fenêtre va s’afficher. Entrez le mot de passe et cliquez sur le bouton OK.
19
● Cliquez sur le bouton Test Connection pour vous s’assurer que la connexion est
bien établit
20
● Cliquez sur le bouton Ok pour enregistrer la connexion
21
● cliquez sur la connexion nouvellement créez :
22
● Workbench affiche le schéma actuel et un panneau pour saisir les
requêtes :
●
Saisissez la requête : Show databases pour lister les bases de données dans votre serveur
23
1.5 Comment Migrer MySQL
La migration de MySQL se fait en trois étapes :
● Téléchargement du Patch
● Configuration du Patch
24
Téléchargement du Patch
● Téléchargez le patch contenant la dernière version
de MySQL :
wget https://repo.mysql.com//mysql-apt-
config_0.8.14-1_all.deb
● Lancez la configuration du patch :
sudo dpkg -i mysql-apt-config_0.8.14-1_all.deb
25
Configuration du Patch (1/3)
●
26
Configuration du Patch (2/3)
●
27
Configuration du Patch (3/3)
●
28
● Lancez la mise à jour en exécutant les 02 commandes:
sudo apt-get update
sudo apt-get install mysql-server
● Durant l’installation, MySQL vous demandera si vous souhaitez
conserver vos anciens fichier de configuration, choisissez l’option
qui précise de ne pas garder ces configurations
● Après la mise à jour redémarrez le service
● Vérifiez la version installé sur votre serveur mysqladmin -u root -p
version
29
● En cas d’échec de la mise à jour exécutez ces commandes :
sudo apt-get remove –purge mysql-server mysql-client mysql-common -y
sudo apt-get update
sudo dpkg -i mysql-apt-config_0.8.14-1_all.deb
sudo apt-get install mysql-server
sudo apt-get install mysql-workbench
● c’est à dire vous supprimez l’installation précédemment effectué (commande 1), vous
reconfigurer le patch (commande 2 et 3) puis vous réinstallez MySQL (commande 4 et
5)
● Attention, durant ce processus, MySQL vous demandera de supprimer votre datadir, ne
le faites pas.
30
1.6. Démarrer, Arrêter et redémarrer le Service MySQL
Démarrer le Service sous Ubuntu
● utilisez l’une des commandes suivantes :
sudo service mysql start
sudo /etc/init.d/mysql start
37
1.7 Configuration du Serveur MySQL
● Exemple 1 : Pour changer la variable max_connection avec la commande set :
set global max_connections = 160
● Exemple 2 : pour changer la variable max_connection dans le fichier mysqld.cnf,
ajouter la ligne :
max_connection = 160
38
Lecture Additionnelle
Sur le fichier my.cnf :
https://dev.mysql.com/doc/refman/8.0/en/option-files.html
https://stackoverflow.com/questions/2482234/how-do-i-find-the-mysql-my-cnf-location
sur les modes sql :
https://dev.mysql.com/doc/refman/8.0/en/sql-mode.html
Sur la migration d’une version MySQL à une autre :
sous Linux : https://dev.mysql.com/doc/mysql-apt-repo-quick-guide/en/#repo-qg-apt-upgrading
Sous Windows: https://dev.mysql.com/doc/refman/8.0/en/windows-upgrading.html
https://fr.wikipedia.org/wiki/MySQL
Sur l’installation de MySQL ; https://www.sqlshack.com/how-to-install-mysql-on-ubuntu-18-04/
39
Exercices
1. Quelle est la version la plus récente de MySQL ?
A) 8.0 B) 7.2C) 5.7 D) 6.4
2. Dans le fichier de configuration de MySQL, que représente datadir ?
A) le répertoire des données B) le répertoire d’installation C) répertoire de
sauvegarde
3. Laquelle de ces caractéristiques, n’est pas propre à MySQL,?
A) Duplication B) Réplication C) Transaction D) Versatilité
40
Travaux Pratiques
1. Installez MySQL et Workbench sur votre machine
– Connectez vous en utilisant le terminal à votre Serveur
– Configurer une connexion dans votre Workbench
41