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 [12/09/2010 16:49]
127.0.0.1 édition externe
doc:programmation:mysql [27/12/2013 09:38]
smolski [Installation de mysql]
Ligne 1: Ligne 1:
 ====== MYSQL ====== ====== MYSQL ======
  
-''​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''​ 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. 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''​ 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. ​\\  
 +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...).
  
-On peut installer le serveur ''​mysql''​ seul pour l'​utiliser sans réseau. Sinon, il est nécessaire d'y ajouter une application comme apache.+On peut installer le serveur ''​mysql''​ seul pour l'​utiliser sans réseau. ​\\  
 +Sinon, il est nécessaire d'y ajouter une application comme **apache**.
  
 Voir **Installation d'un serveur LAMP** : Voir **Installation d'un serveur LAMP** :
-   * [[config:apache | Un Serveur LAMP]] +  ​* [[:​doc:​obsolete:apache | Un Serveur LAMP]]
  
 +  * Le retour sur le forum est ici : [[http://​debian-facile.org/​viewtopic.php?​id=2806 | Lien vers le forum concernant ce tuto]]((N'​hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !))
 ===== 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 =====
Ligne 61: Ligne 63:
 ==== Accéder à mysql : ==== ==== Accéder à mysql : ====
  
-<​code ​bash> +<​code ​user>mysql -u root -p</​code>​ 
-mysql -u root -p +  Enter password:  
-Enter password:  +  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 29 
-Your MySQL connection id is 29 +  Server version: 5.0.51a-24+lenny4 (Debian)
-Server version: 5.0.51a-24+lenny4 (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. 
 + 
 +  mysql> ​
  
-mysql> ​ 
-</​code>​ 
 **Renseignez :**  **Renseignez :** 
-<​code>​Enter password:</​code>​+  ​Enter password: 
 <note tip>''​avec le //passwd mysql// et non le //passwd root// du système.''</​note>​ <note tip>''​avec le //passwd mysql// et non le //passwd root// du système.''</​note>​
  
Ligne 114: Ligne 116:
    Query OK, 1 row affected (0.00 sec)    Query OK, 1 row affected (0.00 sec)
  
 +Souvent,
 +\\
 +les simples utilisateurs ne peuvent pas créer une base des données,
 +\\
 +donc,​**root** créer la base, et puis donne les privilèges à un simple utilisateur
 +
 +__Pour donner les privilèges à un simple utilisateur__
 +doit être sous root, puis:
 +<code bash>
 +GRANT ALL PRIVILEGES ON db00.* TO '​user00'​@'​localhost'​ IDENTIFIED BY '​pwd_user00';​
 +</​code>​
 +\\
 +\\
 +====Créer simple utilisateur====
 +Doit-être executer sous l'​utilisateur root **de mysql**
 +<code bash>​CREATE USER '​login'​@'​hote'​ IDENTIFIED BY '​mot_de_passe';​
 +</​code>​
 ==== Accéder à une base de donnée ==== ==== Accéder à une base de donnée ====
  
Ligne 213: Ligne 232:
 '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 338: Ligne 363:
 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 355: Ligne 397:
 Query OK, 6 rows affected (0.01 sec) Query OK, 6 rows affected (0.01 sec)
 Records: 6  Duplicates: 0  Warnings: 0 Records: 6  Duplicates: 0  Warnings: 0
 +</​code>​
 +
 +\\
 +====Vérification d'une base====
 +C'est pour vérifier les relations entre les tables: ​
 +<code bash>
 +select * from information_schema.referential_constraints where constraint_schema = '​nom_base';​
 +</​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>​ </​code>​
  ​\\ ​  ​\\ ​
  ​\\ ​  ​\\ ​
  ​\\ ​  ​\\ ​
 +
 ''​**À suivre**....'' ​ --- //​[[joel.smolski@gmail.com|smolski]] 2010/07/27 09:​00// ​ :-) ''​**À suivre**....'' ​ --- //​[[joel.smolski@gmail.com|smolski]] 2010/07/27 09:​00// ​ :-)
 +
  
  
doc/programmation/mysql.txt · Dernière modification: 25/10/2018 19:03 par cemoi

Pied de page des forums

Propulsé par FluxBB