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 →
Ci-dessous, les différences entre deux révisions de la page.
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 [23/10/2013 08:00] MicP [MYSQL] Ajout Lien vers le forum |
doc:programmation:mysql [19/10/2014 10:25] paskal [Liens] |
||
---|---|---|---|
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. \\ |
- | 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 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 version: 5.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 ==== |
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 111: | ||
| | | | | | | | | | ||
- | ==== Créer une base de donnée : ==== | + | ==== Créer une base de donnée ==== |
**Nota :** \\ | **Nota :** \\ | ||
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 base, et 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 136: | ||
=== 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 150: | ||
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 166: | ||
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 197: | Ligne 207: | ||
- | ==== 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 244: | ||
</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 331: | Ligne 341: | ||
</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 449: | Ligne 459: | ||
- | ===== 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_donnees]] |