User Tools

Site Tools


bdd-linux

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
bdd-linux [2020/06/23 13:20]
guy [Bases de données Linux]
bdd-linux [2020/06/23 13:23] (current)
guy [Base De Données (Introduction)]
Line 1: Line 1:
  
  
-====== Base De Données (Introduction) ======+====== Base de Données (Introduction) ======
  
 Il existe plusieurs solutions pour créer et gérer des bases de données en Linux. Il existe plusieurs solutions pour créer et gérer des bases de données en Linux.
  
 +===== Préliminaire =====
 +
 +<​html>​
 +Pour tout ce qui est base de données en dehors de Microsoft Access (limité au monde Windows), utiliser <font color="​red"​ size=+3">​PHP-MySQL.</​font>​
 +</​html>​
 +Pour les débutants en BDD Linux, consulter le site 
 +http://​www.phpdebutant.org/​article118.php
 +
 +===== MySQL =====
 +
 +**MySQL** est un Système de Gestion de Bases de Données (SGBD) relationnel libre, open-source et gratuit. Il est performant et très populaire. Il est multi-plateformes et multi-utilisateurs.
 +
 +Sous Ubuntu, se reporter à la documentation en ligne http://​doc.ubuntu-fr.org/​mysql.
 +
 +{{capture_ubuntu-mysql_800.png|}}
 +
 +Pour aller plus loin, consulter la réfèrence http://​dev.mysql.com/​doc/​refman/​5.0/​fr/​connecting-disconnecting.html
 +
 +==== Démarrage - Arrêt ====
 +
 +  * démarrer, arrêter un serveur MySQL
 +<​file>​sudo /​etc/​init.d/​mysql start  # lancer le serveur</​file>​
 +<​file>​sudo /​etc/​init.d/​mysql stop   # arrêter le serveur</​file>​
 +<​file>​sudo ps -A | grep mysql       # vérifier le serveur en marche</​file> ​                
 +  * lancer la console MySQL
 +<​file>​mysql -u <​login>​ -p  # lancer MySQL pour un utilisateur</​file>​
 +Après réponse au mot de passe, apparaît un nouveau signe d'​insertion
 +<​code>​mysql></​code>​
 +<​file>​quit ​                # pour arrêter MySQL</​file>​
 +
 +
 +
 +
 +==== Premières commandes ====
 +
 +Toutes les commandes SQL doivent se terminer par **;** (**point-virgule**).
 +
 +Ici, les commandes sont écrites en majuscules pour bien les visualiser. On peut les entrer aussi bien en minuscules.
 +  * créer une base de données, créer des tables
 +<​file>​CREATE DATABASE <​bdd>; ​       # pour créer la base <​bdd></​file>​
 +<​file>​CREATE database <​nom_table>​ (suite du nom des champs avec leur type séparée par  virgule-espace); ​     # pour créer la table <​nom_table></​file>​
 +  * lister les BDD, lister les tables d'une BDD
 +<​file>​SHOW databases;</​file>​
 +<​file>​SHOW tables;</​file> ​
 +  * voir la structure d'une table
 +<​file>​DESCRIBE nom_table;</​file>​
 +  * renommer une table
 +<​file>​ALTER TABLE nom_table RENAME AS nouveau_nom;</​file>​
 +  * utiliser une BDD/changer de BDD
 +<​file>​USE <​BDD>;</​file>​
 +  * créer un utilisateur
 +<​file>​CREATE USER nom_utilisateur@localhost;</​file>​
 +  * donner des droits
 +<​file>​GRANT ALL ON nom_base.* TO nom_utilisateur@localhost;</​file>​
 +  * sélectionner des données
 +<​file>​SELECT * FROM <​table>; ​ # pour tout sélectionner</​file>​
 +<​file>​SELECT * FROM <​table>​ WHERE <​Champ1>​ = " " AND <​champ2>​ = " ";</​file>​
 +<​file>​SELECT * FROM <​table>​ WHERE <​Champ1>​ = " " OR <​champ2>​ = " ";</​file>​
 +<​file>​SELECT <​champ1>,​ <​champ2>​ FROM <​table>;</​file>​
 +<​file>​SELECT DISTINCT <​champ>​ FROM <​table>; ​ # élimine les doublons</​file>​
 +<​file>​SELECT champ1, champ2 FROM <​table>​ ORDER BY <​champ2>; ​ # pour ordonner sur une colonne</​file>​
 +<​file>​SELECT champ1, champ2 FROM <​table>​ ORDER BY <​champ2>​ DESC; # ordre inverse</​file>​
 +
 +==== Sauvegarde / Import BDD ====
 +
 +<​file>​mysqldump -u root -p maBase > maBase_backup.sql ​ # sauvegarder la BDD maBase dans le fichier maBase_backup.sql</​file>​
 +<​file>​mysql -u root -p maBase < maBase_backup.sql ​     # importer une BBD ou une sauvegarde sur maBase</​file>​
 +
 +===== phpMyAdmin =====
 +
 +**phpMyAdmin** est un interface convivial qui permet d'​administrer des bases de données **SQL**. ​
 +
 +==== Vérification ====
 +
 +Pour vérifier l'​installation de PHP/MySQL sur un site personnel:
 +  * créer le fichier suivant, l'​enregistrer sur le disque dur comme **phpinfo.php** et le transférer en FTP à la racine du site (avec Gftp par exemple):
 +<​file>​
 +<?php
 +phpinfo();
 +?>   
 +</​file>​
 +  * entrer ensuite l'URL suivante:
 +<​file>​nom_du_site/​phpinfo.php</​file>​
 +L'​écran suivant s'​ouvre,​ on peut le parcourir pour avoir les versions des logiciels installés ainsi que nombre de paramètres.
 +
 +{{phpinfo_800.png|}}
 +
 +
 +==== Utilisation ====
 +
 +Pour le lancer, on entre dans un navigateur, soit
 +<​file>​localhost/​phpmyadmin/ ​       # pour une BDD enregistrée en local</​file>​
 +soit
 +<​file>​adresse_site/​phpmyadmin/ ​    # pour une BDD enregistrée sur un site</​file>​
 +
 +{{phpmyadmin.png|}}
 +
 +Après avoir entré le mot de passe, l'​écran suivant s'​ouvre.
 +
 +{{r2d2.xgenus.com_-_localhost_phpmyadmin_1_800.png|}}
 +
 +
 +Choisir la base de données dans le bandeau gauche en faisant dérouler le menu Bases de données.
 +
 +{{r2d2.xgenus.com_-_localhost_-_guy_phpmyadmin_2_800.png|}}
 +
 +Un menu complet est maintenant disponible avec différents onglets pour afficher, modifier... ​
 +Choisir dans le menu/onglet Action des tables, soit la structure, soit l'​affichage de la table.
 +
 +{{r2d2.xgenus.com_-_localhost_-_guy_-_individus_phpmyadmin_800.png|}}
 +
 +{{r2d2.xgenus.com_-_localhost_-_guy_-_individus_phpmyadmin_3_800.png|}}
 +
 +
 +===== LAMP =====
 +
 +**LAMP** (Linux, Apache, MySQL, PHP/​Perl/​Python) est une solution complète qui regroupe l'​ensemble des applicatioons citées au-dessus. Son équivalent est EasyPHP sous Windows:
 +
 +  * **Apache** est un serveur Web (le logiciel qui « envoie » des pages .html à un navigateur). Il s'agit du serveur le plus utilisé actuellement sur le Web puisqu'​il représente environ 2/3 des serveurs installés.
 +  * **PHP** est un langage de programmation interprété. Correctement interfacé avec Apache, il permet au serveur de fournir des pages dynamiques gérées en fonction des besoins du client. En clair, la page n'est plus un document statique mais peut évoluer, afficher des informations différentes selon les souhaits de l'​utilisateur.
 +  * **MySQL** est un gestionnaire de bases de données assez puissant et rapide. Il peut très bien fonctionner en utilisant son propre client en mode texte sans l'​utilisation d'une quelconque interface graphique. L'​utilisateur doit alors maîtriser le langage SQL de MySQL (proche de la norme ANSI) et se servir de la ligne de commande pour adresser des requêtes au serveur. Spartiate, on se croirait revenus à la grande époque de DBase sous DOS! (nostalgie). ​
 +
 +Cette partie traite de la procédure à suivre pour installer LAMP sous Ubuntu. Pour cela, se rendre sur la page http://​doc.ubuntu-fr.org/​lamp. ​
 +
 +Cette procédure installera sur la machine :
 +  * Apache2 (serveur Apache)
 +  * Mysql-5.0 (serveur de Base De Données)
 +  * PHP5 (langage de programmation de pages Web dynamiques)
 +  * PhpMyAdmin.
 +
 +>>>​La procédure traitée sur cette page est à exploiter sur un système sur lequel aucune solution LAMP n'a encore été installée.
 +
 +{{documentation_ubuntu_lamp_800.png|}}
  
  
bdd-linux.txt · Last modified: 2020/06/23 13:23 by guy