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
doc:programmation:mysql [27/12/2013 09:38]
smolski [Installation de mysql]
doc:programmation:mysql [25/10/2018 19:03] (Version actuelle)
cemoi [Utilisation de mysql]
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.// 
 +  * 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. \\  
-Sinon, il 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é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** (voir [[:​doc:​reseau:​apache2:​multisite | Installation d'un serveur LAMP]]).
  
-Voir **Installation d'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 root>aptitude ​install mysql-server</​code>​+<code root>apt-get ​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 62:
 ===== 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 : +
-  * http://​cyberzoide.developpez.com/​php4/​mysql/​ +
- +
-==== Accéder à mysql ====+
  
 <code user>​mysql -u root -p</​code>​ <code user>​mysql -u root -p</​code>​
Ligne 67: Ligne 68:
   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.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 73: Ligne 74:
   mysql> ​   mysql> ​
  
-**Renseignez :**  
-  Enter password: 
  
-<​note ​tip>''​avec le //passwd mysql// et non le //passwd root// du système.''​</​note>​+<​note ​important>**Renseignez :** \\ 
 +Enter password: \\ 
 +avec le //passwd mysql// et non le //passwd root// du système. 
 +</​note>​
  
-==== Tableau des commandes mysql ====+ 
 +==== Lister tous les utilisateurs de mysql ==== 
 + 
 +<code root>use mysql; select * from user;</​code>​ 
 + 
 +<​note>​Les utilisateurs de MySQL/​MariaDB sont stockés dans la table "​user"​ de la base "​mysql"​.</​note>​ 
 + 
 +==== Tableau des commandes mysql ====
  
 Les commandes mysql depuis l'​appel dans un terminal ou en console. Les commandes mysql depuis l'​appel dans un terminal ou en console.
Ligne 108: Ligne 117:
 |   ​| ​  ​| ​  | |   ​| ​  ​| ​  |
  
-==== Créer une base de donnée ​====+==== Créer une base de donnée ====
  
 **Nota :** \\  **Nota :** \\ 
Ligne 116: Ligne 125:
    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 137: Ligne 142:
 === Directement depuis le terminal : === === Directement depuis le terminal : ===
  
 +<code user>​mysql -D agenda_net -u root -p</​code>​
 <​code>​ <​code>​
-$ mysql -D agenda_net -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 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 151: Ligne 156:
    ​mysql>​ use agenda_net    ​mysql>​ use agenda_net
    ​Database changed    ​Database changed
 +
 +
 +==== Importer/​exporter une base de données ====
 +Depuis un terminal :
 +<code user>​mysqldump -u user00 -p agenda_net > agenda.sql</​code>​
 +Après avoir entré le mot de passe demandé, le fichier ''​agenda.sql''​ sera créé dans le répertoire /​home/​user00. \\
 +Il suffit ensuite de télécharger ce fichier de dump par [[:​doc:​reseau:​ftp | FTP]] ou mieux encore par [[:​doc:​reseau:​sftp | SFTP]]. \\
 +\\
 +À l'​inverse,​ après avoir téléversé un fichier dump sur un serveur, la commande :
 +<code user>​mysqldump -u user01 -p adresse_net < adresses.sql</​code>​
 +remplira la base de données ''​adresse_net''​ à partir des données contenues dans le fichier ''​adresses.sql''​.
  
 ==== Quitter mysql ==== ==== Quitter mysql ====
Ligne 156: Ligne 172:
    ​mysql>​ quit    ​mysql>​ quit
  
-==== Tableau des codes mysql ====+==== Tableau des codes mysql ====
  
 === Codes des chaînes de caractères et les textes : === === Codes des chaînes de caractères et les textes : ===
Ligne 172: Ligne 188:
 |longtext ​  ​|Texte de longueur plus étendu encore ​ |   | |longtext ​  ​|Texte de longueur plus étendu encore ​ |   |
 |tinyblob ​  |Un petit blob   |Un blob est un champ text qui tiendra compte des majuscules et minusciles ​  | |tinyblob ​  |Un petit blob   |Un blob est un champ text qui tiendra compte des majuscules et minusciles ​  |
-|blob   ​|Taille ​nomale ​  |   |+|blob   ​|Taille ​normale ​  |   |
 |mediumblob ​  ​|//​Devinez !// :-)   ​| ​  | |mediumblob ​  ​|//​Devinez !// :-)   ​| ​  |
 |longblob ​  ​| ​  ​| ​  | |longblob ​  ​| ​  ​| ​  |
Ligne 197: Ligne 213:
  
  
-==== Créer des tables ​====+==== Créer des tables ====
  
 <note tip>Nous devons auparavant nous situer dans la base de donnée créée pour y créer des tables bien sûr !</​note>​ <note tip>Nous devons auparavant nous situer dans la base de donnée créée pour y créer des tables bien sûr !</​note>​
Ligne 234: Ligne 250:
 </​code>​ </​code>​
  
-====Vérification d'une table====+==== Vérification d'une table ====
 C'est pour voir le code qui a servit a créer la table00: C'est pour voir le code qui a servit a créer la table00:
 <code bash> <code bash>
Ligne 257: Ligne 273:
  
 Pour avoir tout les résultats possibles, on peut utiliser : Pour avoir tout les résultats possibles, on peut utiliser :
-mysql> select * +<​code>​mysql> select * from adresse_net;</​code>​
-from adresse_net;</​code>​+
 <​code>​ <​code>​
  ​select * from adresse_net;​  ​select * from adresse_net;​
Ligne 331: Ligne 346:
 </​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 441: Ligne 456:
 show create trigger trigger01; show create trigger trigger01;
 </​code>​ </​code>​
- ​\\ ​ 
- ​\\ ​ 
- ​\\ ​ 
- 
-''​**À suivre**....'' ​ --- //​[[joel.smolski@gmail.com|smolski]] 2010/07/27 09:​00// ​ :-) 
- 
  
  
-===== Liens =====+===== Liens =====
  
-  * http://​dev.mysql.com/​doc/​refman/5.0/fr Un site en français proposé par martin ! :-)+  * [[http://​dev.mysql.com/​doc/ ​| Toute la doc]] 
 +  * [[http://cyberzoide.developpez.com/php4/mysql/ | Un lien formidable où télécharger un pdf à conserver]] 
 +  * [[http://​doc.ubuntu-fr.org/​tutoriel/​sauvegarder_automatiquement_ses_bases_de_donnees | Sauvegarder automatiquement ses bases de données]] (sur ubuntu-fr.org)
doc/programmation/mysql.1388133522.txt.gz · Dernière modification: 27/12/2013 09:38 par smolski

Pied de page des forums

Propulsé par FluxBB