.htaccess en général). Ils sont gérés
directement par MySQL, qui a une table d'utilisateurs, et les droits
d'accès associés à chacun. MySQL gère des droits relativement
complexes (se reporter à la documentation), et donne des droits précis
à chaque entité "nom d'utilisateur depuis telle machine" (le serveur
MySQL admet des demandes venant de clients distants, c'està-dire
tournant sur d'autres machines). Tous les utilisateurs, humains ou
programmes clients (PHP, CGI), commencent par se connecter à une base
située sur un serveur (host), en précisant leur compte et le mot de
passe associé. Dans la quasi totalité des cas, le client (PHP, CGI,
...) est sur la même machine que le serveur. Il faut alors se
connecter au serveur localhost, et non
www.cict.fr.
Ne pas confondre ces comptes MySQL et les comptes éventuels des utilisateurs d'applications Web. Un forum Web écrit en PHP peut être réalisé avec des scripts qui stockent les messages dans des tables d'une base MySQL. C'est toujours le même compte MySQL qui est utilisé dans ces scripts pour se connecter à la base associée à l'application (le compte MySQL et son mot de passe doivent être connus du programmeur PHP qui les met dans ses scripts). Mais une application telle qu'un forum doit généralement identifier ses utilisateurs avec comptes et mots de passe. Ces comptes sont alors spécifiques à l'application, et géré par elle, ils sont totalement indépendants du compte MySQL ; ils sont généralement stockés dans une table de la base. Les utilisateurs d'une application Web basée sur MySQL n'ont évidemment pas à connaître le compte MySQL associé à la base, mais seulement le compte que leur a attribué l'application. PhpMyAdmin est un cas particulier d'application qui permet à un gestionnaire de site Web de gérer sa base par une interface Web. Le gestionnaire se connecte alors grâce au compte MySQL.
Pour disposer d'une base MySQL dans le cadre d'un service WWW, il est donc indispensable de demander la création d'une base et l'ouverture d'un compte MySQL associé avec un mot de passe. Le compte aura tous les droits sur la base MySQL. La plupart des applications PHP/MySQL qu'on peut télécharger fonctionnent ainsi, et il faut configurer un des fichiers de paramètres avec ces informations (dans certains cas, on peut le faire via une interface web). Pour des raisons de sécurité, dans certains cas, on peut utiliser deux comptes MySQL au lieu d'un seul (Un compte sert à gérer la base, c'est-à-dire créer les tables, les index, etc. et l'autre compte est utilisé par les scripts PHP et aura des droits réduits - SELECT, UPDATE, INSERT, DELETE).
Choisir un nom pour la base et le compte. Ces noms doivent
comporter en préfixe le nom du site WWW, ou au moins quelques lettres
le rappelant sans ambiguïté, de préférence en minuscules. Par exemple,
le site www.umts.cict.fr demandera une base appelée
umts, et s'il faut plusieurs bases, elles pourront avoir
des noms préfixés par umts_. De même, le ou les comptes
commenceront par le même préfixe. Les points et barres obliques sont
interdits dans les noms des bases. Éviter les caractères spéciaux, se
limiter aux caractères _ (souligné) et $. Faire une demande en
m'envoyant un message. Préciser le nom de la base souhaitée, le ou les
comptes demandés et les droits d'accès associés, ainsi que leurs mots
de passe (sinon j'attribuerai des mots de passe aléatoires). Par
défaut, la connexion à la base ne sera possible que depuis des
programmes clients locaux (sur la même machine). L'utilisation au
moyen d'un programme PHP ou CGI rentre dans ce cadre, car c'est le
serveur HTTP qui se connecte au serveur MySQL, pas le navigateur.
Une fois la base créée et les comptes obtenus, vous pourrez gérer votre base au moyen d'une interface Web, grâce à une URL qui vous sera communiquée. Vous devrez fournir l'identificateur et le mot de passe MySQL. Vous pouvez ainsi créer les tables, les index, et faire toutes les opérations nécessaires à la gestion de la base, directement depuis un navigateur (grâce à l'excellent produit phpMyAdmin, écrit en PHP).
mysql),
ou de programmes clients écrits en C et utilisant l'interface de
programmation, ou enfin de clients écrits en perl, et utilisant les
modules DBI avec le driver DBD::mysql. Les interfaces C et
perl sont décrites dans le chapitre 20 de la documentation. Le
logiciel est installé sur la machine www.cict.fr dans
/usr/local/mysql, il faut donc mettre
/usr/local/mysql/bin dans son PATH pour utiliser
mysql en mode ligne, ou donner le nom absolu de la commande.
Exemple : /usr/local/mysql/bin/mysql -u user -p nom-de-la-base(le programme demande le mot de passe)