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 [07/07/2013 22:15] justmmt [Option alter -Modification des tables] |
doc:programmation:mysql [18/10/2014 19:53] paskal [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.// | ||
+ | * 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...). |
- | 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 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 : ==== | ||
Ligne 125: | Ligne 128: | ||
doit être sous root, 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> | ||
\\ | \\ | ||
Ligne 142: | Ligne 146: | ||
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 236: | ||
'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 357: | Ligne 367: | ||
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 407: | ||
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> | ||
\\ | \\ | ||
Ligne 413: | Ligne 440: | ||
</code> | </code> | ||
\\ | \\ | ||
+ | Ainsi, on a les triggers qui sont présents, \\et | ||
pour voir la définition du trigger00: | pour voir la définition du trigger00: | ||
<code bash> | <code bash> | ||
Ligne 425: | Ligne 453: | ||
- | ===== 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/ |