logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
Prochaine révision Les deux révisions suivantes
doc:programmation:mysql [07/07/2013 21:56]
justmmt [Utilisation de mysql]
doc:programmation:mysql [19/10/2014 08:53]
paskal [Option alter -Modification des tables]
Ligne 1: Ligne 1:
-====== ​MYSQL ======+====== ​MySQL ====== 
 +  * Objet : le système de gestion de bases de données relationnelles MySQL 
 +  * Niveau requis : {{tag>​avisé}} 
 +  * Commentaires : //​installer,​ configurer et utiliser le SGBDR MySQL.// 
 +  * Débutant, à savoir : [[:​doc:​systeme:​commandes:​le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !]] :-) 
 +  * Suivi : 
 +    * Créé par [[user> smolski]] 24/​07/​2010 
 +    * Testé par [[user> paskal]] 18/​10/​2014 
 +  * Commentaires sur le forum : [[https://​debian-facile.org/​viewtopic.php?​id=2806 | c'est ici]] ((N'​hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !))
  
-''​mysql''​ est un serveur de base de données très souvent utilisé avec le langage de création de pages web dynamiques : PHP. 
  
-''​mysql''​ dérive directement de SQL (Structured Query Language) qui est un langage ​de requête vers les bases de données ​exploitant ​le modèle relationnel. \\  +===== Introduction ===== 
-Il en reprend la syntaxe mais n'en conserve pas toute la puissance puisque ​de nombreuses fonctionnalités ​de ''​SQL''​ n'​apparaissent pas dans ''​mysql''​ (sélections imbriquées,​ clés étrangères...).+MySQL est un serveur ​de base de données ​très souvent utilisé avec le langage ​de création ​de pages web dynamiques : PHP.
  
-On peut installer ​le serveur ''​mysql''​ seul pour l'​utiliser sans réseau. \\  +MySQL dérive directement de SQL (Structured Query Language) qui est un langage de requête vers les bases de données exploitant ​le modèle relationnel. \\  
-Sinonil est nécessaire d'y ajouter une application comme **apache**.+Il en reprend la syntaxe mais n'en conserve pas toute la puissance puisque de nombreuses fonctionnalités de SQL n'​apparaissent pas dans MySQL (sélections imbriquéesclés étrangères...).
  
-Voir **Installation ​d'un serveur LAMP** +On peut installer le serveur MySQL seul pour l'​utiliser sans réseau. \\  
-   * [[config:apache ​Un Serveur ​LAMP]]+Sinon, il est nécessaire ​d'y ajouter une application comme **Apache** (voir [[:doc:​reseau:​apache2:​multisite ​Installation d'un serveur ​LAMP]]).
  
  
 ===== Installation de mysql ===== ===== Installation de mysql =====
  
-<​code ​bash>​aptitude install mysql-server</​code>​+<​code ​root>​aptitude install mysql-server</​code>​
  
 ===== Sécurisation de mysql ===== ===== Sécurisation de mysql =====
  
-Dans votre terminal root, tapez :+En tant que super-utilisateur, tapez :
  
-   mysql_secure_installation+<code root>mysql_secure_installation</​code>​
  
 Et utilisez le mot de passe que vous avez déjà indiqué à l'​installation. Et utilisez le mot de passe que vous avez déjà indiqué à l'​installation.
Ligne 56: Ligne 63:
 ===== Utilisation de mysql ===== ===== Utilisation de mysql =====
  
-<note important>​Rédaction et tests en cours... smolski 24/​07/​2010</​note>​+==== Accéder à mysql : ====
  
-Un lien formidable où télécharger un pdf à conserver ​+<code user>​mysql -u root -p</​code>​ 
-  ​* http://​cyberzoide.developpez.com/​php4/​mysql/​+  Enter password:  
 +  ​Welcome to the MySQL monitor. ​ Commands end with ; or \g. 
 +  Your MySQL connection id is 29 
 +  Server version5.5.38-0+wheezy1 (Debian)
  
-==== Accéder à mysql : ====+  Type '​help;'​ or '​\h'​ for help. Type '​\c'​ to clear the buffer.
  
-<code bash> +  ​mysql
-mysql -u root -p +
-Enter password:  +
-Welcome to the MySQL monitor. ​ Commands end with ; or \g. +
-Your MySQL connection id is 29 +
-Server version: 5.0.51a-24+lenny4 (Debian)+
  
-Type '​help;'​ or '​\h'​ for help. Type '​\c'​ to clear the buffer. 
  
-mysql>  +<note important>​**Renseignez :** \\ 
-</code> +Enter password: ​\\ 
-**Renseignez :**  +avec le //passwd mysql// et non le //passwd root// du système. 
-<​code>​Enter password:</​code>​ +</​note>​
-<note tip>''​avec le //passwd mysql// et non le //passwd root// du système.''​</​note>​+
  
 ==== Tableau des commandes mysql : ==== ==== Tableau des commandes mysql : ====
Ligne 116: Ligne 119:
    Query OK, 1 row affected (0.00 sec)    Query OK, 1 row affected (0.00 sec)
  
-Souvent, +Souvent, les simples utilisateurs ne peuvent pas créer une base des données, donc **root** ​doit créer la base et donner ​les privilèges à un simple utilisateur.
-\\ +
-les simples utilisateurs ne peuvent pas créer une base des données, +
-\\ +
-donc,**root** créer la baseet puis donne les privilèges à un simple utilisateur+
  
-__Pour donner les privilèges à un simple utilisateur__ +__Pour donner les privilèges à un simple utilisateur__, se connecter ​sous l'​utilisateur **root de mysql**, puis :
-doit être sous root, puis:+
 <code bash> <code bash>
-GRANT ALL PRIVILEGES ON db00.* TO '​user00'​@'​localhost'​ IDENTIFIED BY '​pwd_user00';​+GRANT ALL PRIVILEGES ON agenda_net.* TO '​user00'​@'​localhost'​ IDENTIFIED BY '​pwd_user00'​
 +FLUSH PRIVILEGES;
 </​code>​ </​code>​
 \\ \\
 \\ \\
-====Créer simple utilisateur====+====Créer ​un simple utilisateur====
 Doit-être executer sous l'​utilisateur root **de mysql** Doit-être executer sous l'​utilisateur root **de mysql**
 <code bash>​CREATE USER '​login'​@'​hote'​ IDENTIFIED BY '​mot_de_passe';​ <code bash>​CREATE USER '​login'​@'​hote'​ IDENTIFIED BY '​mot_de_passe';​
Ligne 142: Ligne 141:
 Welcome to the MySQL monitor. ​ Commands end with ; or \g. Welcome to the MySQL monitor. ​ Commands end with ; or \g.
 Your MySQL connection id is 77 Your MySQL connection id is 77
-Server version: 5.0.51a-24+lenny4 ​(Debian)+Server version: 5.5.38-0+wheezy1 ​(Debian)
  
 Type '​help;'​ or '​\h'​ for help. Type '​\c'​ to clear the buffer. Type '​help;'​ or '​\h'​ for help. Type '​\c'​ to clear the buffer.
Ligne 232: Ligne 231:
 'Site Debian, la ou Debian est le plus simple',​ 'Site Debian, la ou Debian est le plus simple',​
 '​1'​);​ '​1'​);​
 +</​code>​
 +
 +====Vérification d'une table====
 +C'est pour voir le code qui a servit a créer la table00:
 +<code bash>
 +show create table00\G
 </​code>​ </​code>​
  
Ligne 325: Ligne 330:
 </​code>​ </​code>​
  
-===== Option alter -Modification des tables =====+===== Option alter - Modification des tables =====
  
 ==== Option add / first / after / drop - Ajouter/​Ôter une colonne dans une table : ==== ==== Option add / first / after / drop - Ajouter/​Ôter une colonne dans une table : ====
Ligne 357: Ligne 362:
 Query OK, 6 rows affected (0.00 sec) Query OK, 6 rows affected (0.00 sec)
 Records: 6  Duplicates: 0  Warnings: 0 Records: 6  Duplicates: 0  Warnings: 0
 +</​code>​
 +
 +===Vider une table===
 +Il faut que la table à vider ne soit pas relier à aucune autre table:
 +<code bash>
 +truncate table00;
 +</​code>​
 +
 +Ainsi, si la table possède des relations avec d'​autre table alors il faut supprimer cette relation
 +<code bash>
 +alter table table_a_relation drop foreign key nom_relation;​
 +</​code>​
 +
 +Pour voir le nom_relation:​
 +<code bash>
 +show create table table_a_relation;​ #ou
 +show create table table_a_relation\G
 </​code>​ </​code>​
  
Ligne 380: Ligne 402:
 C'est pour vérifier les relations entre les tables: ​ C'est pour vérifier les relations entre les tables: ​
 <code bash> <code bash>
-select * from information_schema.referential_constraints where constraint_schema = 'YOUR_DB';+select * from information_schema.referential_constraints where constraint_schema = 'nom_base';
 </​code>​ </​code>​
 +\\
 +\\
 +=====Utilisation avancée=====
  
 +====Trigger====
 +**Trigger**:​ pour executer des commandes sql après certains actions,\\
 +             ​appeler aussi un __déclenheur__
 +\\
 +__ex:__ après l'​insertion dans une __table00__ on veut une insertion dans __table01__:​
 +Ainsi,\\
 +    1) on crée une autre delimiter,
 +    2) on crée le trigger,
 +    3) on change le trigger par sa valeur par défaut, (';'​)
 +
 +===Création trigger===
 +<code bash>
 +delimiter | #pour la creation du trigger
 +create trigger trigger00 after insert on table00 for each row
 +             begin
 +                 #​instruction of the trigger
 +                 ​insert into table01(col00,​ col01) values('​val00',​ '​val01'​);​
 +             end
 +delimiter ; #on remet le trigger par sa valeur par défaut
 +</​code>​
 +
 +===Vérification des triggers===
 +c'est pour voir les triggers qui sont dans la base
 +<code bash>
 +show triggers \G
 +</​code>​
 +\\
 +Ainsi, on a les triggers qui sont présents, \\et 
 +pour voir la définition du trigger00:
 +<code bash>
 +show create trigger trigger01;
 +</​code>​
  ​\\ ​  ​\\ ​
  ​\\ ​  ​\\ ​
Ligne 391: Ligne 448:
  
  
-===== Liens =====+===== Liens =====
  
-  * http://​dev.mysql.com/​doc/​refman/​5.0/fr/  Un site en français proposé par martin ! :-)+  * http://​dev.mysql.com/​doc/​refman/​5.7/en/ 
 +  Un lien formidable où télécharger un pdf à conserver ​http://​cyberzoide.developpez.com/​php4/​mysql/​
doc/programmation/mysql.txt · Dernière modification: 25/10/2018 19:03 par cemoi

Pied de page des forums

Propulsé par FluxBB