Phpmyadmin pour gérer vos bases MySQL
I. Introduction à phpmyadmin
Attention : tutorial initialement écrit pour Infomaniak Network SA et ses revendeurs. Droits exclusifs à la diffusion sur infomaniak.ch et 6ma.fr uniquement, reproduction interdite.
Phpmyadmin est un outil qui facilite l'administration de MySQL sur le web. Il est écrit en PHP et permet notamment de créer / supprimer des bases de données, de créer / modifier / supprimer des tables ou enregistrements, d'exécuter des requêtes SQL, d'importer et d'exporter des structures ou données de votre base de données Mysql, et bien plus.
II. Explications
1. Mise en route de phpmyadmin |
||||||||||||
| Attention, ce chapître est valable uniquement si votre hébergement est chez Infomaniak. Dans le cas contraire, connectez vous à votre Phpmyadmin et passez directement à la Fig. 5. Tout d'abord, sachez que vous n'avez pas à faire l'installation de Phpmyadmin sur nos hébergements puisqu'il est déjà préinstallé. Par contre, avant de pouvoir l'utiliser, il va vous falloir créer votre base de données MySQL. Pour cela, commencez par vous identifier sur la console d'administration de votre/vos domaine(s). Puis déroulez le menu "Outils" et "Bases de données". Si vous n'avez encore jamais utilisé Mysql avec votre hébergement, vous verrez qu'aucune base de données n'est installée encore :
Cliquez alors sur le premier bouton "Ajouter" pour créer une base de données Mysql. Vous obtiendrez la fenêtre suivante, choisissez le "nom de la base données" dans la liste déroulante et cliquez sur le bouton "Ajouter" pour valider.
Une fois la base de données créée, vous allez être renvoyé vers la page précédente (Fig. 1), cliquez alors sur le deuxième bouton "Ajouter" pour ajouter un utilisateur de base de données Mysql.
Il vous sera alors demandé trois catégories d'informations : Un nom d'utilisateur
Le nom d'utilisateur de la base de données mysql, celui avec lequel vous vous identifierez sur Phpmyadmin dans le chapître suivant.
Un mot de passe
Un mot de passe associé à ce nom d'utilisateur ainsi qu'une confirmation. Comme d'habitude, évitez les mots de passe trop simples pour la sécurité de votre site Internet.
Les droits d'accès de l'utilisateur
Les droits d'accès de l'utilisateur à la base de données, décomposés en trois grandes catégories : la lecture, écriture, et administration. A noter que si vous avez plusieurs bases de données, vous devrez indiquer les droits de l'utilisateur dans chacunes d'entre elles, en ne cochant rien sur celles où l'utilisateur ne doit avoir aucun droit.
- Lecture : va permettre de lire dans la base de données (par des instructions SELECT). - Ecriture : va permettre d'écrire, modifier, supprimer des enregistrements dans la base de données (INSERT, UPDATE, DELETE). - Administration : va permettre de créer, modifier, supprimer des tables et leurs structures (CREATE, DROP, INDEX, ALTER). Cliquez enfin sur le bouton "Ajouter" pour valider quand vous avez rentré toutes ces informations. Et vous obtiendrez la fenêtre suivante :
Voilà, vous pouvez voir qu'il y a au moins une base de données et un utilisateur avec les droits de lecture (au minimum) de créés, ce qui va permettre à cet utilisateur d'utiliser Phpmyadmin, en cliquant sur le bouton "Afficher" tout en bas. Vous allez alors devoir vous identifier avec l'utilisateur de base de données créé plus haut :
Voilà, après une identification correcte, vous serez prêt à utiliser Phpmyadmin pour gérer votre base de données. Et nous allons voir dans les chapîtres suivants comment bien utiliser Phpmyadmin.
Attention
|
||||||||||||
2. Operation sur les tables |
||||||||||||
Avant tout, il va falloir sélectionner la base de données sur laquelle vous souhaitez travailler dans la liste "Base de données" sur la gauche.
Phpmyadmin vous indique alors qu'"Aucune table n'a été trouvée dans cette base". Nous allons donc commencer par créer une table, qui sera une table stockant des clients sur notre exemple. Dans la zône pour créer une nouvelle table à droite, nommez votre table et indiquez le nombre de champs qu'elle comportera. Validez en cliquant sur "Exécuter".
Attention
Pour toutes les opérations suivantes sur les tables, votre utilisateur doit avoir les droits admin (voir Fig. 3).
Vous obtiendrez alors une page vous permettant de créer une table comportant 7 champs. Ici vous avez pas mal d'informations possibles à remplir, toutefois beaucoup sont optionnelles. Remplissez principalement le nom, le type et la valeur des champs comme l'exemple ci-dessous. L'objectif de ce guide n'étant pas de vous détailler tous les types de champs possibles, reportez-vous aux documentations de Phpmyadmin et MySQL si vous ne savez pas du tout quelles valeurs mettre ici.
Le premier champ "id" créé est assez fréquemment utilisé pour identifier de manière unique tous les enregistrements qui seront présents dans cette table. C'est pourquoi, si vous allez à droite avec la barre de défilement, vous aurez une valeur "Extra" à mettre sur auto_increment si vous souhaitez que ce numéro unique s'incrémente tout seul, et cochez clé primaire.
Et enfin, cliquez sur le bouton "Sauvegarder" quand vous avez fini de créer la structure de votre table.
Si vous avez rempli correctement cette structure, vous devriez avoir un message vous informant que "votre requête SQL a été exécutée avec succès". En effet, Phpmyadmin traduit toutes les opérations que vous faites via l'interface en language SQL. On aurait donc pu créer la même table en exécutant manuellement la requête "create table ..." affichée après, pour les connaisseurs du language.
|
||||||||||||
3. Operations sur les enregistrements |
||||||||||||
| Voyons tout d'abord comment insérer un enregistrement dans une table avec Phpmyadmin. Cliquez sur l'icône permettant d'insérer des enregistrements (Flèche 1 de la Fig. 12) ou cliquez sur votre table puis sur l'onglet "Insérer".
Vous pourrez alors rentrer les informations de votre premier enregistrement uniquement, ou même deux enregistrements à la fois (comme sur la Fig. 13). Cliquez sur le bouton "Exécuter" lorsque vous avez terminé. Par contre, l'intérêt de votre site Internet porte sur le fait que ce soit les pages web qui insèrent dynamiquement des enregistrements dans votre base de données, vous aurez donc rarement à en ajouter manuellement à priori.
Attention
Sur notre exemple nous n'avons pas rempli le champ id, car c'est un nombre qui s'auto-incrémente. Pour ce type de nombre, il ne sera jamais utile de mettre une donnée lors d'une insertion puisqu'il sera créé automatiquement. Retournez maintenant à l'affichage des tables de votre base de données, vous aurez de nouvelles icônes disponibles à côté de votre table.
L'icône 1 de la Fig. 14 ci-dessus vous permettra d'afficher les enregistrements contenus dans la table et de faire des opérations sur ces enregistrements. L'icône 2 de la Fig. 14 permet d'effectuer des recherches dans les enregistrements avec des conditions personnalisables. L'icône 3 de la Fig. 14 vous permet de vider la table, c'est-à-dire effacer tous les enregistrements. Soyez donc prudents avec cette fonctionnalité. Cliquez sur la première icône pour afficher les enregistrements.
|
||||||||||||
4. Importer et exporter avec phpmyadmin |
||||||||||||
| Il peut s'avérer intéressant dans le cas de sauvegardes ou d'un déménagement de serveur de savoir exporter et importer votre base de données MySQL. Nous allons voir comment réaliser cela avec Phpmyadmin. 1. Exportation avec phpmyadmin Lorsque vous êtes dans votre base de données, vous aurez un onglet "Exporter" en haut (ainsi qu'un onglet "Importer" que l'on verra juste après).
Cliquez sur l'onglet "Exporter". Choisissez dans un premier temps la ou les table(s) que vous souhaitez exporter. Ensuite, vous verrez deux cadres cochés par défaut, il s'agit de "Structure" et "Données". Laissez les cochés si vous souhaitez TOUT exporter, sinon choisissez uniquement Structure pour la structure de la table ou données pour les enregistrements de la table. Puis vous avez un cadre intitulé "Transmettre" à cocher pour que le fichier d'exportation soit téléchargé sur votre PC. Cliquez sur le bouton "Exécuter" finalement, pour lancer l'exportation.
2. Importation avec Phpmyadmin Maintenant pour importer avec Phpmyadmin (que ce soit la structure ou les enregistrements d'une table), cliquez sur l'onglet "Importer" de Phpmyadmin dans votre base de données. (voir Fig. 16) On vous demande alors l'emplacement du fichier texte à importer. Il s'agit du fichier .sql que vous avez exporté précedemment et que vous devez avoir téléchargé sur votre PC. Puis vous pouvez configurer les autres options à votre guise mais ça fonctionne bien par défaut, et cliquez sur "Exécuter" pour lancer l'importation.
|
||||||||||||
5. En cas de probleme |
||||||||||||
| Pour finir, voici les erreurs fréquentes que vous pourrez rencontrer avec les solutions correspondantes : - Le message d'erreur qui s'affiche en rouge : "Créer une base de données: aucun privilège" sur Phpmyadmin
Ce message est logique, il faut d'abord créer une base de données depuis votre console d'administration avant de lancer Phpmyadmin (les bases de données ne peuvent pas être créées depuis Phpmyadmin). Pour cela reportez-vous au chapître 1 sur la mise en route de Phpmyadmin de ce guide. - En faisant une requête "SELECT" ou autres opérations sur mes tables MySQL à l'aide de phpMyAdmin, j'obtiens des erreurs du genre: "Missing parameter: ... ". Ce problème bien connu est en rapport avec le navigateur qui corrompt le fichier durant l'import/export. La solution consiste à employer Firefox pour l'import/export des bases ou utiliser la procédure d'importation via le répertoire data. - En cas de problème avec les formats de caractères, si vous avez une erreur qui vous parle de latin1..., utf8, etc, ou des caractères qui se sont mal convertis entre une importation et une exportation.
Phpmyadmin fait les exportations dans le jeu de caractères utf8 par défaut. Si vous importez ce fichier en latin1, il est donc prévisible que vous obteniez des caractères bizarres à la place des accents etc. Veillez donc lors de vos exports et imports à ce que les jeux de caractères soient identiques pour ne pas vous retrouver avec des caractères différents. - Dans le cas où vous obtenez le message d'erreur suivant : #1267 - Illegal mix of collations (latin1_german1...) Ceci est dû au fait que phpMyAdmin utilise le jeu de caractère utf8 par défaut. Pour régler ce problème, en arrivant sur la page d'accueil du phpMyAdmin de la machine, il y a un champ avec une liste déroulante intitulée "interclassement pour la connexion". A cet endroit, choisissez n'importe quelle entrée commençant par "latin1_". Après cela il vous faudra réimporter la base à nouveau pour que la table de caractères soit la bonne et pour éviter les problèmes d'affichages.
- Une table semble être corrompue et/ou j'obtiens des messages d'erreur du genre : "phpBB : Critical Error" et "SQL Error : 1016 Can't open file: 'nuke_users.MYI' (errno: 145)" Pour rémedier à ce genre de problèmes avec Phpmyadmin et réparer la ou les tables corrompues, rendez vous dans l'onglet SQL de votre Phpmyadmin, et exécutez la requête suivante sur la table corrompue dans le champ "Exécuter une ou des requêtes sur la base" : REPAIR TABLE nom_de_la_table; Et cliquez sur "Exécuter". S'il y a plusieurs tables concernées, vous pouvez aussi le faire avec la commande : REPAIR TABLE nom_de_la_table1,nom_de_la_table2; - Message d'erreur "Call to undefined function: pma_dbi_try_query()" (ou semblable) en voulant supprimer une entrée d'une de mes tables de ma base de données. Il s'agit d'un bug de MySQL. Pour le fixer, il suffit d'ajouter une clef primaire sur la table en question. Pour faire cela avec Phpmyadmin, cliquez tout d'abord sur la table concernée dans le listing des tables à gauche. Puis vérifiez dans le tableau "index" tout en bas s'il existe une entrée du genre "Nom de la clé Type PRIMARY PRIMARY" (ça ne devrait pas être le cas si vous avez ce problème). Remontez sur le tableau du haut, et transformez sous "Action" un id unique en clef primaire en cliquant sur le bouton symbolisé par un clef. Normalement cela devrait vous permettre de manipuler à nouveau votre table correctement.
|
III. Conclusion du tutorial
Nous venons de voir l'utilisation générale de Phpmyadmin, qui se révèle très utile pour administrer vos bases de données MySQL de façon vraiment simplifiée. Il est donc à utiliser sans modération pour tous les webmasters.
Ajouté le 08-07-2006
Lu 23999 fois
Tutoriel réalisé par :
Damien Desrousseaux
Pas de support par email, veuillez utiliser le forum informatique pour toute question.
Reproduction partielle ou totale interdite sans l'accord de l'auteur.
http://www.6ma.fr





















