• Aucun résultat trouvé

[PDF] Cours Introduction et Installation de MySQL sur PC | Cours informatique

N/A
N/A
Protected

Academic year: 2021

Partager "[PDF] Cours Introduction et Installation de MySQL sur PC | Cours informatique"

Copied!
29
0
0

Texte intégral

(1)

INGESUP - Paris

Bases de données – 1

SQL - MySQL – Cours et TP 0

Introduction et Installation de MySQL sur PC

Site officiel MySQL : http://www-fr.mysql.com/ Zone pour les développeurs : http://dev.mysql.com/ Téléchargement : http://dev.mysql.com/downloads/

Documentation MySQL : http://dev.mysql.com/doc/refman/5.0/fr/ http://dev.mysql.com/doc/refman/5.6/en/

http://dev.mysql.com/doc/index.html

Mémo SQL : http://www.volubis.fr/bonus/SQL_memo.htm

La Base de Données Open Source la plus Populaire au Monde

Bertrand LIAUDET

SOMMAIRE

SOMMAIRE 1 INTRODUCTION 3 1. Objectifs généraux 3 2. Réquisits 3

3. Généralités sur les bases de données 4

4. Les 3 objectifs majeurs d’une BD 6

5. Généralités sur les SGBD 8

8. SGBD-R et SQL 11

INSTALLATION DE MYSQL SOUS XP 14

Les produits MySQL 14

Téléchargement : http://dev.mysql.com/ 17

Résultats de l’installation 19

Utilisation 21

INSTALLATION DE MYSQL WORKBENCH 23

MySQL Work bench 23

INSTALLATION D’UN ENVIRONNEMENT PHP-MYSQL 25

Les environnements MySQL 25

(2)

TP N°0 : INSTALLATION DE MYSQL SOUS WINDOWS 26

Exercice 01 : Installer MySQL 26

Exercice 02 : Prise en main de l’installation, du serveur et du client 26 Edition : septembre 2009 – Mise à jour juillet 2012

(3)

INTRODUCTION

PRINCIPALES NOTIONS

BD Intégrité des données

SGBD Architecture Client-Serveur

SGBD-R SQL

1. Objectifs généraux

L’objectif de ce cours est de faire comprendre ce qu’est une base de données (ce qui n’a rien d’évident), et particulièrement une base de données relationnelle, de comprendre comment on la fabrique et comment on s’en sert, c’est-à-dire comment on stocke les données et comment on consulte les données de la base de données.

Pour cela nous serons amenés à utiliser le langage SQL et un SBBD. Le langage SQL étant standard, on pourra utiliser à peu près indifféremment MySQL, PostgreSQL, ORACLE, SQL Server. Les versions (ORACLE 10, ORACLE 11, SQL Server 2005, SQL Server 2008, MySQL 4, MySQL 5, etc.) auront peut d’impact sur la base de l’apprentissage du langage SQL.

2. Réquisits

Il n’est pas nécessaire de connaître les langages de troisième génération (Pascal, C, C++, php, etc…) ni l’algorithmique.

Il vaut mieux (mais ce n’est pas obligé) connaître l’architecture et le fonctionnement général d’un ordinateur : unité centrale, processeur, périphériques d’entrée et de sortie, bus, mémoire, ROM (Read Only Memory, mémoire morte), RAM (Read Access Memory, mémoire vive), disque dur, répertoires, fichiers, logiciels, système d’exploitation.

Architecture des ordinateurs :

ROM SE R A M SE Processeur

Rappelons que quand l’ordinateur démarre, le petit programme codé dans la ROM va chercher le logiciel « système d’exploitation » (XP, LINUX, UNIX, MacOS, etc… SE sur le schéma) sur le disque dur et le recopie sur la RAM. L’utilisateur communique alors avec le système d’exploitation. Le système d’exploitation offre trois grands types de fonctionnalité : la gestion des fichiers (dir, cd, grep, etc.), la gestion des périphériques et le lancement des logiciels.

(4)

3. Généralités sur les bases de données Définition générale d’une base de données Présentation

La notion de base de données n’est pas facile à définir précisément. On peut toutefois en donner une définition intuitive très large :

Une base de données est constituée de deux éléments :

 un regroupement de données (d’informations) en grand nombre. Ces données décrivent (représentent) des objets du monde réel.

un ensemble d’outils de gestion permettant de consulter ces données et les objets qu’elles représentent, mais aussi d’en ajouter, d’en retirer et d’en modifier : c’est le SGBD (système de gestion de la base de données)

Remarques

Une base de données n’est pas constituée uniquement par des objets du monde réel mais aussi par leurs représentations.

Une base de données n’est pas nécessairement informatisée. Exemples

Une bibliothèque gère est une base de données. Les livres et les adhérents sont les objets du monde réel. Il existe un fichier avec les informations représentant tous les livres (numérotation, classement, etc.), tous les adhérents (nom, adresse, etc.), tous les emprunts, et aussi des fichiers pour les recherches bibliographiques. Ces outils sont les outils de gestion de la BD.

Un magasin avec ses articles en rayon gère une base de données. Les articles sont les objets du monde réel.

Un disque dur avec ses fichiers est une base de données. Les fichiers sont les objets du monde réel. Le système d’exploitation permet de manipuler

Un cerveau (plus ou moins rempli !) est une base de données. Les connaissances sont des « objets » du monde réel. L’accès aux connaissances est plus ou moins efficace !

(5)

Définition d’une base de données informatique Présentation

Une base de données informatique est une base de données dont les données et les outils de gestion sont informatisés. Une base de données informatique est constituée de deux éléments :

 un regroupement de données informatiques en grand nombre. Ces données décrivent des objets du monde réel.

un ensemble d’outils de gestion informatisés permettant de consulter ces données, mais aussi d’en ajouter, d’en retirer et d’en modifier : c’est le SGBD (système de gestion de la base de données).

Exemples

Le catalogue informatisé d’une bibliothèque : il permet d’accéder à la liste de tous les ouvrages de la bibliothèque, de savoir s’ils sont disponibles ou pas, etc.

Le système de réservation de la SNCF (Système Socrate) : il permet d’accéder à tous les trains et à toutes les places dans les trains, de savoir si elles sont disponibles, etc.

Les sites internet de journaux (Le Monde, le Figaro, etc.) mais aussi les petits sites sous SPIP (système de publication sur internet) sont des bases de données d’articles : ils permettent d’accéder aux articles pour les lecteurs, de les mettre en ligne pour les auteurs, etc.

Problème de vocabulaire

Quand on parle de base de données (BD), on parle :

 Soit de l’ensemble constitué par les données et le SGBD (par exemple : « Cours de base de données »)

 Soit des données uniquement (par exemple : « on utilise la base de données des employés »)  Soit du SGBD uniquement (par exemple « j’utilise une BD posgreSQL)

Dans ce cours, on fera en général la distinction entre les données (la base de données ou BD) et les outils de gestion (le SGBD).

(6)

4. Les 3 objectifs majeurs d’une BD

L’intégrité des données : altération et incohérence

Garantir l’intégrité des données, c’est éviter l’altération et l’incohérence des données. L’altération des données

Il y a plusieurs sources d’altération possibles : l’usure, les pannes, les erreurs, les malveillances. Une BD (et un SGBD) aura comme objectif d’en limiter la possibilité.

L’incohérence des données

Une donnée est incohérente si elle est contradictoire avec une autre donnée. Il y a deux grands types d’incohérence :

La duplication des données avec des valeurs différentes. Exemple : deux adresses différentes pour une même personne.

Les valeurs aberrantes. Exemples : un âge négatif ou supérieur à 150 ; une donnée faisant référence à une autre donnée qui n’existe pas.

La BD a pour objectif d’être un réservoir d’informations canonique (unique et commun), garantie sans incohérences (donc sans duplication de données).

La distinction entre données et traitements

Les données existent indépendamment des traitements qu’on leur applique. Ainsi, on a d’un côté les données et leur modèle et de l’autre les traitements rationnalisés.

Modèle des données indépendant des traitements Signifiance directe des données

L’information correspondant à une donnée doit être directement intelligible : elle ne correspond pas à un calcul ou à un codage (pas de code spéciaux dans la BD).

Vision unifiée des données manipulées

La BD permet de produire un modèle des données qui permet d’apporter une vision unifiée des données manipulées (dans une entreprise ou n’importe quel système d’informations, scientifique par exemple), indépendamment des traitements qui leur sont appliqués.

Cette vision unifiée permet une meilleure compréhension de la réalité représentée par les données.

Traitements rationnalisés

(7)

Performance et optimisation

Une BD doit fournir des performances acceptables par l’utilisateur. C’est la problématique de l’optimisation.

(8)

5. Généralités sur les SGBD Définition

Le SGBD, Système de Gestion de Base de Données, est le logiciel qui réalise les outils de gestion de la base de données. Il permet essentiellement de :

 Définir les données qu’on veut manipuler,  Ajouter, modifier, supprimer des données  Consulter des données

Le SGBD répond aux objectifs de la BD. Architecture

L’architecture la plus courante des SGBD est une architecture Client — Serveur : le SGBD est le serveur avec lequel des clients peuvent communiquer.

Utilisateur 1 application 1 Un SGBD Disque dur : la ou les BD Utilisateur 2 application 2 : etc... etc...

Des Utilisateurs Des Clients Un Serveur

Une BD est stockée sur un ou plusieurs disques durs.

Pour une BD, il y a un SGBD et un seul. Le SGBD et la BD sont en général sur la même machine (pris en charge par le même SE). Le SGBD peut gérer plusieurs BD.

Pour un SGBD donné, il peut y avoir plusieurs applications qui communiquent avec lui. Le SGBD est le serveur. Chaque application est un client. Une application peut être sur une machine différente de celle du serveur, ou sur la machine du serveur.

Une application est un programme (un logiciel) qui envoie des commandes au SGBD pour manipuler d’une façon ou d’une autre les données de la BD sur le disque dur. Par exemple : un programme PHP ou java qui permet de communiquer avec une SGBD MySQL, PosgreSQL, ORACLE.

(9)

Les 3 types d’utilisateur d’un SGBD

Il y a trois types d’utilisateur d’un SGBD : L’administrateur

- Il gère les accès et les droits des utilisateurs : problème de sécurité.

- Il gère aussi le bon fonctionnement des bases de données : problème d’efficacité. Le développeur

Il programme une application qui sera cliente du SGBD. Il a accès à la BD à travers l’application cliente dite : « calculette SQL ».

L’utilisateur final

Il utilise une application cliente du SGBD. En général, il n’a accès à la BD qu’à travers une application cliente spécifique.

Les différents types d’objets gérés par un SGBD Un SGBD gère un certains nombre d’objets :  Des tables : pour mettre les données

 Des bases de données : pour distinguer des applications différentes  Des index : pour optimiser les requêtes

 Des contraintes d’intégrité : pour garantir la cohérence des données

 Des utilisateurs : pour se connecter à la BD et leur donner des droits particuliers  Des droits : pour limiter l’accès des utilisateurs à la BD

 Etc.

Pour chacun de ces objets, le SGBD permet la création, modification, suppression. Deux grands types d’applications autour d’un SGBD

Il y a deux grands types d’application autour d’un SGBD : L’informatique « transactionnelle » : OLTP

Les applications d’informatique transactionnelle regroupent à la fois les applications de gestion (système d’information, site marchand, etc.) et des applications industrielles qui utilisent une BD. Ce sont toujours des applications de grosse taille.

On parle aussi d’OLTP : On-Line Transaction Processing L’informatique « décisionnelle » : OLAP

Les applications d’informatique décisionnelle servent à exploiter les données le plus souvent issues d’applications d’informatique transactionnelle.

Ces applications mettent en œuvre des notions de statistiques, d’analyse de données et de datamining. Elles peuvent s’appuyer sur des fonctionnalités SQL proposées par le SGBD (Group By, Pivot, etc.).

(10)

Ces applications sont en général de petite taille. Leur finalité est l’aide à la décision.

Les notions de «Business Intelligence » : BI, data-mining et data-warehouse sont des notions connexes à ce domaine.

On parle aussi d’OLAP : On-Line Analytical Processing. Objectif majeur d’un SGBD : l’intégrité des données

L’objectif majeur d’un SGBD est le même que celui de la BD : il s’agit de garantir l’intégrité des données.

Cet objectif se déploie sur plusieurs registres : La conformité au modèle

La gestion de base de l’intégrité consiste à vérifier que les données saisies sont cohérentes par rapport à la définition qu’on en a donnée.

Les accès concurrents

La gestion des accès concurrents permet d’éviter des incohérences dues à des modifications faites en même temps sur une même donnée.

La sécurité sur panne

La gestion de la sécurité sur panne permet de garantir le maintien de la cohérence des données, même quand une panne intervient au cours d’une période de modification des données.

Les autorisations d’accès

La gestion des droits des utilisateurs permet de limiter les possibilités des utilisateurs sur les données.

(11)

8. SGBD-R et SQL

Petit historique des modèles de données

Il existe différents types de BD en fonction du modèle d’organisation des données qu’elles utilisent.

A ce modèle est associé un langage de manipulation des données.

Années 60 : les anciens modèles. Modèle hiérarchique, modèle réseau, langages d’accès navigationnels permettant de circuler dans des structures de types graphes.

1970 : Création du modèle relationnel. Article de CODD.

Années 80 : Premiers SGBD-Relationnels sur le marché (ORACLE, Ingres, Informix, sybase, Dbase IV, etc.)

Années 90 : Premiers SGBD-Objets. XML.

Fin des années 2000 : Premiers SGBD « NoSQL ». Le NoSQL se développe dans des environnements à données dont la structure est très dynamique et pour lesquelles la question de l’intégrité n’est pas primordiale.

Aujourd’hui : L’Objet n’a pas remplacé le Relationnel. Le marché est dominé par les SGBD-R (ORACLE, SQL-Server (microsoft), DB2 (IBM), MySQL, PosgreSQL, ACCESS…). Les technologies sont parfois mixtes (Relationnel et objet). Le XML cohabite avec le SQL. Le « NoSQL » se développe.

SGBD-R

Aujourd’hui, le modèle relationnel domine le marché et la théorie des bases de données. Les SGBD correspondant sont des SGBD-R.

Le SQL

Le SQL est le langage qui permet d’envoyer toutes les requêtes possibles à un SGDB-R : création, modification, suppression, consultation, etc.

SQL signifie Structured Query Langage, c’est-à-dire langage structuré de requêtes.

Il est aussi parfois appelé : « SEQUEL» (prononcer : sicouel), pour Structured English Query Language.

Le SQL n’est pas un langage de programmation qui permet d’écrire des programmes composés d’une suite d’opérations élémentaires (comme le langage PHP, par exemple, et comme tous les langages dit « impératif » : C, C++, Pascal, VB, PHP, erc.).

Le SQL est un langage qui permet d’écrire des opérations élémentaires qui sont indépendantes les unes des autres.

SQL ou algèbre relationnelle ?

Le SQL un langage de programmation fondé sur l’algèbre relationnelle qui est la théorie des opérations qu’on peut appliquer à un objet mathématique particulier : les tableaux de données (appelées « relations » en algèbre relationnelle).

(12)

Toutefois, le SQL peut être considéré comme un ensemble d’opérateurs plutôt que comme un langage de programmation.

En ce sens, l’application cliente du SGBD qui permet d’utiliser directement le SQL peut être considérée comme une « calculette SQL » qui, au lieu de travailler sur des nombres, travaille sur des tableaux de données.

La calculette SQL

Il existe une application particulière qui permet de créer, modifier, détruire et consulter une BD : le « Command Line Client » et ses dérivés. Cette application concerne les programmeurs et pas les utilisateurs finaux.

Cette application particulière, on l’appellera : la calculette SQL. Par exemple : psql (postgreSQL), mysql, SQL*PLUS (ORACLE), etc.

Il existe des versions graphiques des calculettes. Par exemple : phpMyAdmin (MySQL), MySQL GUI tools, phpPGAdmin (postgreSQL), PgAdminIII (postgreSQL), ORACLE developer, SQL Server Management Studio Express (SSMSE), etc.

On va apprendre à se servir de cette calculette SQL PL-SQL

Dans la plupart des SGBD-R, il existe un langage de programmation à proprement parler qui permet d’écrire des successions d’opérations relationnelles (SQL) sous la forme d’un programme en utilisant les mécanismes usuels de la programmation impérative type Pascal, VB ou C, à savoir : les variables, les affectations, les tests, les boucles et les fonctions. Ce langage s’appelle : le PL-SQL, c’est-à-dire : Programmation Language SQL.

Le PL-SQL ne permet pas de développer une interface utilisateur très élaborée. Il ne remplace donc pas le développement d’une application cliente.

Le PL-SQL permet de :

 éviter aux applications clientes de répéter les mêmes séries d’opérations SQL : principe de modularité

 mieux gérer l’intégrité des données (triggers et règles).  séparer les modules de calcul des modules d’affichage Dans ce cours, on ne traitera pas du tout le PL-SQL. Historique du SQL

Années 70 : premiers prototypes de SQL à la suite de l’article de CODD. 1979 : première version de SQL, proposé par ORACLE.

1986 : SQL ANSI (American National Standard Institute)

1989 : SQL-1, ISO et ANSI (International Standard Organisation) 1992 : SQL-2, ISO et ANSI (jointures externes et « join »)

(13)

Pérennité du SQL Présentation

On voit que le SQL existe depuis 1980 en pratique et 1970 en théorie. C’est un langage pérenne : il a vocation à durer !

Pourquoi :

 Qui dit SI dit BD : la BD est le cœur du SI.

 L’algèbre relationnelle est une théorie mathématique simple et solide (et non pas une technologie).

 L’implantation massive du SQL rend son élimination coûteuse. Les solutions « NO SQL » restent localisées.

Pourquoi changer ?

Pour détrôner le SQL, il faudrait :

 Une meilleure théorie : l’algèbre relationnelle étant fondé sur la logique de base et celle-ci étant très stable, il est peu probable qu’une meilleure théorie se développe.

 Des outils de calcul pour remplacer la théorie : l’intérêt du SQL, c’est qu’il permet de ranger correctement et ainsi d’éviter les incohérences et d’accélérer les traitements. Si des algorithmes permettaient d’obtenir les mêmes résultats sans avoir à ranger, le SQL perdrait de son intérêt. Toutefois, si cette solution se réalisait (ce qui veut dire des ordinateurs beaucoup plus puissants), elle se positionnerait probablement en interface au dessus d’une BD SQL.

Quelles évolutions ?

Les évolutions correspondent à des usages particuliers :

 Le XML est adapté aux données hiérarchisées avec peu de modification et de requêtes complexes

 Le NoSQL est adapté aux structures de données dynamiques

 Les ORM des frameworks facilitent la tâche du programmeur OLTP

 Le SQL est adapté à tout le reste ! et particulièrement aux données de l’entreprise en général.

Aujourd’hui (années 2010), on peut parier sans grand risque que le SQL sera toujours présent d’ici à la fin de la carrière des étudiants !

(14)

INSTALLATION DE MYSQL SOUS XP

http://www.mysql.fr/ : entrée standard

http://www.mysql.fr/downloads/ : entrée standard des téléchargements http://dev.mysql.com/ : entrée de la zone développeur

Les produits MySQL

MySQLCommunity Edition (ou Server) Présentation

MySQL Community Edition est la version gratuite de MySQL. Site

http://www.mysql.fr/products/community/ La version GA

La version GA : generally available est une version entièrement testée. Il vaut mieux utiliser une version GA en environnement professionnel. La version development releases (beta)

La version development release (ou beta) est une version encore en cours de tests. Septembre 2012 Version GA : 5.5.25.A http://www.mysql.fr/downloads/ http://www.mysql.fr/downloads/installer/ Verstion beta : 5.6.5 m8 http://dev.mysql.com/downloads/mysql/5.6.html MySQL Entreprise Edition

(15)

Site http://www.mysql.fr/products/enterprise/ Fiche produit http://www.mysql.fr/products/enterprise/mysql-datasheet.fr.pdf Demo http://www.oracle.com/pls/ebn/swf_viewer.load?p_shows_id=10146324 MySQLCluster Présentation

MySQL Cluster Edition est la version « entreprise » payante de MySQL. Elle offre, en plus de MySQL Entreprise Edition, une prise en compte des bases de données dans les services de nouvelle génération : Web services, cloud service … Elle permet de prendre en charge du NoSQL. Elle fournit une disponibilité de 99,999 %.

Site http://www.mysql.fr/products/cluster/ Fiche produit http://www.mysql.fr/products/cluster/mysql-cluster-datasheet.fr.pdf Demo http://www.oracle.com/pls/ebn/swf_viewer.load?p_shows_id=11464419 MySQLWorkbench Présentation

MySQL Workbench fournit aux DBAs et aux développeurs un environnement de développement intégré pour :

 La conception de la BD

 Le développement SQL (MySQL Workbench remplace MySQL Tools : MySQL administrator et MySQL Query Browser)

 L’administration de la BD Site

http://www.mysql.fr/downloads/workbench/ Télécharger : Windows (x86, 32-bit), MSI Installer Connexion à la BD

(16)

Présentation

Les outils de connexion permettent de se connecter à une BD MySQL. Il y a deux grands types de connexion :

 la connexion standard par ODBD

 la connexion via des langages de développement particuliers : java, C, C++, .NET, perl, etc. Site http://www.mysql.fr/downloads/connector/ Documentation http://dev.mysql.com/doc/refman/5.0/fr/mysql-apis.html http://dev.mysql.com/doc/refman/5.0/fr/odbc-connector.html http://dev.mysql.com/doc/refman/5.0/fr/java-connector.html http://dev.mysql.com/doc/refman/5.6/en/connectors-apis.html ODBC

ODBC est une interface standardisée, qui permet la connexion aux serveurs de bases de données.

http://msdn.microsoft.com/fr-fr/library/bb469866.aspx

Par exemple : connecter une BD MySQL avec Excel ou Access : http://blogmotion.fr/systeme/mysql-access-excel-4974 Documentation Page d’accueil : http://dev.mysql.com/doc/index.html Version 5.6 http://dev.mysql.com/doc/refman/5.6/en/index.html Version 5.0 en français http://dev.mysql.com/doc/refman/5.0/fr/index.html Version 5.0 en français à télécharger

(17)

Téléchargement : http://dev.mysql.com/ Site

Site officiel : http://www.mysql.fr/

Zone pour les développeurs : http://dev.mysql.com/downloads/ Téléchargement

On installe la version GA qui est plus sûre. Septembre 2012

Version GA : 5.5.25.A

http://www.mysql.fr/downloads/mysql/ Choisir l’OS « Windows »

Choisir Windows (x86, 32-bit), MSI Installer

Cliquer sur download : le téléchargement commence. Ca charge le fichier : mysql-5.5.25a-win32.msi

Installation

0 : Principes de l’installation

On choisit tout par défaut, sauf le PATH (étape 8) et le choix de l’utilisateur (étape 9) http://dev.mysql.com/doc/refman/5.0/fr/quick-standard-installation.html

http://dev.mysql.com/doc/refman/5.5/en/quick-standard-installation.html 1 : Arrêter le pare feu Windows (ce n’est pas forcément obligé)

2 : Lancer le .msi

Ca installe et copie les fichiers. 3 : Typical ou Complet

La version typique installe uniquement le serveur et les outils de base.

La version complète installe des outils (workbench, connecteurs, etc.) en plus du serveur. 4 : Launch the MySQL instance configuration wizard

Mieux vaut ne pas décocher cette option. 5 : Standard configuration

(18)

6 : Include Bin Directory in Windows PATH : oui !!!!!!!

Si on oublie de coher le PATH, il faudra le mettre à jour “à la main” sous WINDOWS : Démarrer/ Poste de Travail / Bouton droit / Propriété

Avancé / Variables d’environnement / Variables pour vous / PATH / modifier : ajouter le chemin complet des programmes de l’installation.

7 : Créer un utilisateur ROOT avec MdP

Entrez les mots de passe ou décocher le Modify Security Setting auquel cas root n’a pas de mot de passe

8 : Relancer le pare feu windows Anciens éléments d’installation Type de serveur

Machine développeur : on choisit cette option. Machine serveur

Machine dédiée serveur Usage de la BD

Multifonctions : moteurs InnoDB et MyISAM : on choisit cette option. Transactionnel (plus sécurisé) : moteur InnoDB

Non Transactionnel (plus rapide) : moteur MyISAM Tablespace InnoDB

Lieu de stockage spécifique des données InnoDB Exemple : C: / MySQL InnoDB Datafiles / Nombre de connexions au serveur

Environnement décisionnel : 20

(19)

Résultats de l’installation Principes

L’installation installe principalement les programmes et les fichiers de configuration Les deux principaux programmes sont :

 Le serveur : mysqld.exe  La calculette sql : mysql.exe Le fichier de configuration est :  my.ini

Répertoire du serveur : BASEDIR Le répertoire BASEDIR

BASEDIR est une variable du SGBD qui contient le nom absolu du répertoire des programmes installés par mysql.

La commande suivante exécutée dans la calculette SQL permet de voir le contenu de BASEDIR :

Mysql > show variables like ‘%dir%’ ; ou

Mysql > show variables like ‘basedir’;

Permet de voir le répertoire où se trouvent les programmes de la BD. Contenu de BASESIR

Dans BASEDIR on trouve : Des répertoires :

Répertoire Contenu

Bin Programmes clients et serveur mysqld include et lib Des fichiers sources pour le serveur

Share Messages d’erreur

Des fichiers

my.ini : fichier de configuration utilisé

(20)

Les programmes du répertoire « BASEDIR / bin » 2 programmes fondamentaux Nom Description mysqld Serveur mysql Client 2 utilitaires fondamentaux Nom Description

mysqladmin Permet d’administrer le serveur mysqldump Permet de sauvegarder la ou les BD 2 utilitaires secondaires

Nom Description

mysqlshow Permet de lister les databases

mysqltest Permet de travailler sur les tables hors client

Raccourcis de l’installation

L’installation offre deux raccourcis :

Noms Usage

MySQL Command Line Client Client mysql pour gérer les BD. C’est la calculette SQL

MySQL Server Instance Config Wizard Modification ou suppression des caractéristiques du serveur.

On ne s’en servira pas !!!

Répertoire des données: DATAIR Le répertoire DATADIR

DATADIR est une variable du SGBD qui contient le nom absolu du répertoire des données installés par mysql.

La commande suivante exécutée dans la calculette SQL permet de voir le contenu de DATADIR :

Mysql > show variables like ‘%dir%’ ; ou

(21)

Utilisation

Le serveur mysqld (parfois nommé : mysqld-nt) Démarrage automatique

L’installation démarre automatiquement le serveur. Il sera démarré automatiquement à chaque démarrage de WINDOWS.

Ces éléments sont paramétrables facilement avec MySQL Administrator.exe (cf. chapitre sur MySQM Tools.

On peut aussi supprimer le démarrage automatique de XP : démarrer / exécuter / msconfig

services : décocher mysql

Arrêter le serveur via une fenêtre de commande Windows / Menu démarrer / exécuter / cmd C: > mysqladmin shutdowon –u root –p Entrer le password :

On peut aussi écrire le password (mysql, par exemple) sur la ligne de commande : Windows / Menu démarrer / exécuter / cmd

C: > mysqladmin shutdowon –u root –pmysql Démarrer le serveur via une fenêtre de commande

Windows / Menu démarrer / exécuter / cmd C: > mysqld --console

Parfois, le serveur s’appelle : mysqld-nt !

Regarder l’état du serveur via une fenêtre de commande Windows / Menu démarrer / exécuter / cmd

C: > mysqladmin ping –u root –p Entrer le password :

On peut aussi écrire le password (mysql, par exemple) sur la ligne de commande : Windows / Menu démarrer / exécuter / cmd

(22)

La calculette mysql : MySQL Command Line Client

Se connecter à partir du menu démarrer : utilisateur « root » MySQL Command Line Client démarre un client mysql.

C’est un utilisateur « root » en « localhost » avec son mot de passe.

La calculette est lancée à partir du répertoire des programmes : BASEDIR / bin Se connecter à partir du fenêtre de commande : client au choix

La calculette est lancée à partir du répertoire courant. C’est l’utilisateur choisi qui est connecté.

Connexion de l’utilisateur : « root »

Windows / Menu démarrer / exécuter / cmd C: > mysql –u nom_utilisateur –p

Entrer le password :

On peut aussi écrire le password (mysql, par exemple) sur la ligne de commande : Windows / Menu démarrer / exécuter / cmd

C: > mysql –u nom_utilisateur –pmysql mysql >

Connexion de l’utilisateur : « anonyme »

Windows / Menu démarrer / exécuter / cmd C: > mysql

mysql >

Connaître l’utilisateur connecté

Quand on a ouvert la calculette sql : mysql > select current_user(); ou

(23)

INSTALLATION DE MYSQL WORKBENCH

MySQL Work bench Présentation

MySQL Workbench fournit aux DBAs et aux développeurs un environnement de développement intégré pour :

 La conception de la BD

 Le développement SQL (MySQL Workbench remplace MySQL Tools : MySQL administrator et MySQL Query Browser)

 L’administration de la BD Site

http://www.mysql.fr/downloads/workbench/ Téléchargement

http://www.mysql.fr/downloads/workbench/ Télécharger : Windows (x86, 32-bit), MSI Installer Installation

Pas de paramétrage : version complète. Résultats de l’installation

Répertoire d’installation

C:\Program Files\MySQL\MySQL Workbench 5.2 CE Fichier exécutable

C:\Program Files\MySQL\MySQL Workbench 5.2 CE\MySQLWorkbench.exe Principes du fonctionnement

3 usages

 SQL developement  Data Modeling

(24)

SQL developement

Si le server MySQL est lancé, quand on clique sur le « local instance MySQL » ça ouvre une fenêtre qui donne accès à un « browser » avec les BD déjà enregistrées sur le serveur et à une fenêtre qui permet de passer des commandes SQL

SQL Administration

Si le server MySQL est lancé, quand on clique sur le « local MySQL » ou sur « Server Administration, ça ouvre une fenêtre qui permet de faire de l’administration : suivre l’état du serveur, gérer les paramètres de configuration, gérer les utilisateurs, gérer les import-export de BD.

Data Modeling

 Create new EER model / add diagram : on peut créer des tables et des liaisons et enregistrer le modèle

 Open existing EER model : permet d’ouvrir un modèle précédemment enregistré

 Create EER model from existing database : permet de créer un modèle à partir d’une BD déjà enregistrée sur le serveur

 Create EER model from SQL script : permet de créer un modèle à partir d’un fichier script SQL.

(25)

INSTALLATION D’UN ENVIRONNEMENT PHP-MYSQL

Les environnements MySQL

Il y a plusieurs solutions intégrées qu’on peut télécharger.

Il semblerait, d’après ce qu’on lisait sur les forums en 2008, que WAMP5 et XAMPP soit les plus appréciées, un peu avant EasyPHP.

http://www.apachefriends.org/fr/xampp.html

XAMPP : X Apache MySQL PHP Perl. X pour multi OS.

XAMPP est un kit d'installation d'Apache qui contient MySQL, PHP et Perl. http://www.wampserver.com/download.php

WAMP : Windows Apache MySQL PHP LAMP : Linus Apache MySQL PHP

WAMP5 est une plate-forme de développement Web sous Windows. http://www.easyphp.org/

EasyPHP regroupe un serveur Apache, une base de données MySQL, le langage PHP ainsi que des outils facilitant le développement de vos sites ou de vos applications.

Installation de XAMPP sous XP

http://www.apachefriends.org/fr/xampp.html

http://www.apachefriends.org/fr/xampp-windows.html

Télécharger l’installateur : xampp-win32-1.6.3a-installer.exe (34 MO) Ou bien télécharger l’archive ZIP : xampp-win32-1.6.3a.zip (80 MO)

(26)

TP N°0 : INSTALLATION DE MYSQL SOUS WINDOWS

Exercice 01 : Installer MySQL

1. Suivre le polycopié de description de l’installation et installer la dernière version GA de mysql.

2. Eventuellement, installer MySQL Workbench

Exercice 02 : Prise en main de l’installation, du serveur et du client Objectif

L’objectif de l’exercice est de se fabriquer un environnement de travail qui permettent de contrôler les éléments essentiels du SGBD.

On peut soit utiliser l’installation simple de MySQL, soit utiliser l’installation de MySQL à travers un environnement de développement type WAMP ou EasyPHP.

Etapes

1. Après l’installation, créez un répertoire « BDMySQL » (ou « MySQL ») sur le bureau. 2. Mettez dans ce répertoire :

 Le fichier d’installation (.msi) de mysql (facultatif).  Le fichier d’installation de mysql workbench (facultatif).

3. Si votre ordinateur est en mode « familial » ou « secrétariat », passez en mode « développeur » : faites en sorte que les extensions des fichiers s’affichent !

 Sous XP : dans une fenêtre allez dans : outils/option des dossiers/ affichage / masquer les extensions dont le type est connu : cette caractéristique doit être à faux ! Vous devez visualiser les extensions de tous les fichiers de votre machine de développement !

4. Trouvez le répertoire contenant les binaires de l’installation de MySQL : particulièrement mysql.exe et mysqld.exe.

 Si vous n’avez aucune idée d’où se trouvent ces fichiers, vous devez faire une recherche à partir de la racine.

5. Vérifiez que la variable d’environnement « PATH » contienne le répertoire contenant les binaires de l’installation de MySQL. Si ce n’est pas le cas, faites la mise à jour du PATH.  Pour vérifier si le PATH est à jour : ouvrez une console (sous XP : Démarrez/ Exécuter/

(27)

 Pour mettre à jour le PATH : vous devez accéder aux propriétés du système. Sous XP : Démarrer / Poste de travail / bouton droit / propriété : ça permet d’ouvrir la fenêtre des propriétés du système. Ensuite : avancé / variables d’environnement / variables système. Ensuite vous trouvez la variable « PATH » : faites « modifier » et ajouter en dernier dans le PATH le chemin des binaires de mysql en utilisant la même syntaxe que pour les autres chemins.

6. Dans le répertoire « BDMySQL» que vous avez créé : créer un fichier batch appelé : « console.bat ». Ce fichier permet de lancer une console XP. Dans ce fichier, mettez uniquement la commande : cmd.

 Pour vérifier que votre fichier console.bat fonctionne, vous devez constater qu’il est présent avec un icône d’exécutable. Si vous double-cliquez dessus : une console XP s’ouvre.

7. Dans le répertoire « BDMySQL» que vous avez créé : créer un fichier batch appelé : « calculette root.bat ». Ce fichier permet de lancer une calculette mysql en étant connecté en tant que root sur la machine du serveur. Dans ce fichier, mettez uniquement les commandes :

- mode con cols=120 - mode con lines=500

- mysql –u root –h localhost –p

 Pour vérifier que votre fichier calculette.bat fonctionne, vous devez constater qu’il est présent avec un icône d’exécutable. Si vous double-cliquez dessus : une calculette mysql s’ouvre.

 A noter que le –h serait surtout utile si le serveur n’était pas sur votre machine.

8. Vérifiez que le serveur est démarré en utilisant l’utilitaire « mysqladmin » avec l’option : « ping »

 Dans une console XP, lancez la commande « mysqladmin –u root –h localhost –p ping »  A noter que le –h serait surtout utile si le serveur n’était pas sur votre machine.

9. Dans le répertoire « BDMySQL » que vous avez créé : créez un fichier batch appelé : « ping.bat » qui permet de savoir si le serveur est démarré.

 Vérifiez que ce fichier fonctionne.

 Mettre dans ce répertoire un raccourci permettant d’ouvrir une calculette sql.

 Un batch permettant d’ouvrir une fenêtre de commande DOS (batch contenant cmd).  Un batch permettant d’ouvrir une calculette sql à partir du répertoire « bd ing1 » pour

l’utilisateur root.

(28)

 Dans une console XP, lancez la commande « mysqladmin –u root –h localhost –p shutdown »

11. Vérifiez que le serveur est arrêté en utilisant votre fichier « ping.bat » puis en consultant la liste des processus dans le gestionnaire des tâches.

12. Dans le répertoire « BDMySQL» que vous avez créé : créer un fichier batch appelé : « shutdown.bat » qui permet d’arrêter le serveur.

 Vérifiez que ce fichier fonctionne. Pour cela vous devez relancer le serveur : voir la série d’exercices suivant.

13. A partir d’un serveur arrêté, démarrez le serveur. Il suffit de taper la commande « mysqld » ou « mysqld –console ».

 Le programme mysqld ne redonne pas la main dans la console. Toutefois si on ferme la console avec la croix rouge, le serveur continue à tourner.

14. Vérifiez que le serveur est lancé en utilisant votre fichier « ping.bat » puis en consultant la liste des processus dans le gestionnaire des tâches.

15. Dans le répertoire « BD SIGL1 » que vous avez créé : créer un fichier batch appelé : « serveur.bat » qui permet de lancer le serveur.

16. Arrêter le serveur.

17. Arrêter toutes les calculettes.

18. Vérifier que plus rien ne tourne dans la liste des processus. 19. Pinguer le serveur

20. Démarrer le serveur 21. Pinguer le serveur

22. Ouvrez une calculette root

23. Affichez le nom de l’utilisateur connecté : select user() ;

24. Affichez la liste de tous les utilisateurs : select host, user from mysql.user ;

25. Essayez d’ouvrir une calculette en utilisant un autre utilisateur. Affichez le nom de l’utilisateur connecté.

26. Ouvrez une deuxième calculette root.

27. Vérifiez quels sont tous les processus qui tournent (le serveur et les 2 ou 3 clients).

28. Dans une calculette root, affichez la variable BASEDIR (cherchez dans le poly ce que c’est et comment on fait).

29. Dans le répertoire « BDMySQL» que vous avez créé : créez un raccourci qui vous permettent d’ouvrir le dossier correspondant au répertoire BASEDIR.

(29)

 La variable language=french permet que les messages du serveur soit en partie en français. 33. Arrêtez le serveur et relancez-le. Vérifiez que les messages sont en français.

 Si le serveur n’arrive plus à être relancé, c’est que vous avez fait une erreur dans le fichier my.ini

Références

Documents relatifs

L’introduction d’un système de TVA à double taux avec un taux réduit de 5% dans l’agriculture vivrière et un taux de 15% dans les autres secteurs entraine une

Les naines blanches sont des objets extrêmement particuliers qui constituent un excellent laboratoire pour tester les théories sur les étoiles. L'état de la matière en

Le poids démographique absolu et relatif remarquable des populations antillaises dans les métropoles floridiennes et à New York en fait des lieux d’un intérêt particulier

Dans le cadre de ce travail nous avons exploré plusieurs méthodes de fabrication de microcavités visant à permettre le couplage fort entre des excitons et des photons.

jugement du locuteur peut être marqué dans l’énoncé. En produisant le pictogramme, le locuteur indique son affect, cet affect portant sur ce qui est dit. On peut dire que le locuteur

De même, si un noyau vide est rempli par [ɛ], comme dans Tomek (règle d'épenthèse), c'est que le système interdit *[tomk] et, plus généralement s'agissant du slave, toute

Le ramassage a été réalisé de manière systématique s oi t avec une méthode de nuage de points (tous les artefacts s o nt géolocalisés), soit avec une méthode

« [it] intended to recognise the almost equal rank of the two places, preserving the memory of their mutual connections in the religious representation: in fact, the dedication