Dernière modif 27.05.01
A présent pour lancer le serveur MySQL, vous avez le choix
entre mysqld.exe compilé avec un max d'options de débug
et vérification systématique de l'allocation/désallocation
de mémoire, et mysqld-opt.exe, version compilé avec
l'optimisation pour pentium sans options de débug.
D'une fenêtre DOS, exécutez mysqld-opt.exe qui
se trouve sous c:\Program Files\mysql\bin. Rien ne va se passer,
pour voir si le serveur MySQL est bien lancé, dans
la même fenêtre DOS, lancez mysqlshow.exe et vous devriez
voir :
----------
| Databases |
----------
| mysql |
| test
|
----------
Vous voyez les deux bases qui ont été créées par défaut à l'installation.
mysqladmin -u root password mot-de-passe
A présent on va créer un utilisateur ordinaire. Pour cela en tant que root, connectons nous à la base de privilèges (toujours dans une fenêtre DOS sous c:\Program Files\mysql\bin)
mysql -u root -p mysql
Enter password:******
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 4 to server version: 3.23.21-beta
Type 'help' for help.
mysql>
Pour voir la liste des utilisateurs avec leurs privilèges, on tapera:
mysql> SELECT * FROM user;
+------+-----+---------+---------+--------+---------+---------+
|Host |User
|Password | Select_priv|Insert_priv|Update_priv|Delete_priv
|
+------+-----+---------+---------+--------+---------+---------+
|localhost|root |626f04681159| Y
| Y
| Y
| Y
|
|localhost|root |
| Y
| Y
| Y
| Y
|
|localhost|
|
| Y
| Y
| Y
| Y
|
|%
| |
| N
| N
| N
| N
|
+------+-----+---------+---------+--------+---------+---------+
---------+--------+---------+----------+----------+-------+--------+------------+--------+---------+
Create_priv|Drop_priv |Reload_priv|Shutdown_priv|Process_priv
|File_priv |Grant_priv |References_priv|Index_priv|Alter_priv
|
---------+--------+---------+----------+----------+-------+--------+------------+--------+---------+
Y
| Y
| Y
| Y
| Y
|Y
| Y
| Y
| Y
| Y
|
Y
| Y
| Y
| Y
| Y
|Y
| Y
| Y
| Y
| Y
|
Y
| Y
| Y
| Y
| Y
|Y
| Y
| Y
| Y
| Y
|
N
| N
| N
| N
| N
|N
| N
| N
| N
| N
|
---------+--------+---------+----------+----------+-------+--------+------------+--------+---------+
4 rows in set (0.01 sec)
On voit qu'il y a toujours une ligne avec root sans mot de passe, et une autre ligne qui indique que n'importe qui (User='') pourra faire n'importe quoi sur les bases et ceci sans rentrer aucun mot de passe (Password='') ! On va donc les supprimer:
mysql> DELETE FROM user WHERE User='root' AND Password='';
Query OK, 1 row affected (0.11 sec)
Et
mysql> DELETE FROM user WHERE Host='localhost' AND User='';
Query OK, 1 row affected (0.00 sec)
A présent on va entrer l'utilisateur olivier qui sera un super utilisateur avec les mêmes droits que root:
mysql> INSERT INTO user
-> VALUES('localhost','olivier',PASSWORD('mot-de-passe'),
-> 'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y');
Query OK, 1 row affected (0.00 sec)
Pour voir si la saisie s'est bien passée:
mysql> SELECT * FROM user;
+------+-----+---------+---------+--------+---------+---------+
|Host |User
|Password | Select_priv|Insert_priv|Update_priv|Delete_priv|
+------+-----+---------+---------+--------+---------+---------+
|localhost|root |626f04681159| Y
| Y
| Y
| Y
|
|localhost|olivier|588c54bd00a | Y
| Y
| Y
| Y
|
|%
| |
| N
| N
| N
| N
|
+------+-----+---------+---------+--------+---------+---------+
---------+--------+---------+----------+----------+-------+--------+------------+--------+---------+
Create_priv|Drop_priv|Reload_priv|Shutdown_priv|Process_priv|File_priv
|Grant_priv|References_priv |Index_priv|Alter_priv
|
---------+--------+---------+----------+----------+-------+--------+------------+--------+---------+
Y
| Y
| Y
| Y
| Y
|Y
| Y
| Y
| Y
| Y
|
Y
| Y
| Y
| Y
| Y
|Y
| Y
| Y
| Y
| Y
|
N
| N
| N
| N
| N
|N
| N
| N
| N
| N
|
---------+--------+---------+----------+----------+-------+--------+------------+--------+---------+
2 rows in set (0.01 sec)
Maintenant pour prendre tout ça en compte.
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.08 sec)
Et pour quitter:
mysql>QUIT
bye
Sachez que sous c:\Program Files\mysql\bin vous trouverez un
outil d'administration utilisant une interface graphique convivial appelé
MySqlManager
mais il n'est visiblement pas encore pleinement opérationnel, à
suivre cependant pour ceux pour qui les commandes en ligne dans une fenêtre
DOS donnent des boutons. Pour administrer simplement vos bases à
partir d'un navigateur vous disposez aussi de phpMyAdmin.
mysql -u olivier -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 5 to server version: 3.23.21-beta
Type 'help' for help.
mysql>
Pour voir la liste des bases de données disponibles, on tapera:
mysql> SHOW DATABASES;
+-------+
| Database |
+---- ---+
| mysql |
| test |
+-------+
4 rows in set (0.00 sec)
On va maintenant créer une base de données essai:
mysql> CREATE DATABASE essai;
Query OK, 1 row affected (0.00 sec)
On va utiliser maintenant cette base de donnée
mysql> USE essai
Database changed
Comme la base vient d'être crée, elle ne contient aucune table, pour s'en convaincre il suffit de taper:
mysql> SHOW TABLES;
Empty set (0.00 sec)
Pour notre première exemple Apache+PHP+MySQL, on va créer la table suivante:
mysql> CREATE TABLE coord (
-> nom VARCHAR(20),
-> prenom VARCHAR(20),
-> email VARCHAR(30)
-> );
Query OK, 0 rows affected (0.03 sec)
Jetons un coup d'oeil maintenant sur les tables disponibles:
mysql> SHOW TABLES;
+-------------------+
| Tables in essai
|
+-------------------+
| coord
|
+-------------------+
1 row in set (0.00 sec)
La table nouvellement créée apparaît bien. Pour
avoir le détail de cette table, on tapera:
mysql> DESCRIBE coord;
+-------+---------+----+-----+------+----+-------------------------+
| Field | Type
| Null | Key | Default |Extra| Privileges
|
+-------+---------+----+-----+------+----+-------------------------+
| nom | varchar(20)
| YES |
| NULL |
| select,insert,update,references |
| prenom | varchar(20) | YES |
| NULL |
| select,insert,update,references |
| email | varchar(30)
| YES |
| NULL |
| select,insert,update,references |
+-------+---------+----+-----+------+----+-------------------------+
3 rows in set (0.00 sec)
Pour notre deuxième exemple Apache+PHP+MySQL, on créra la table suivante:
mysql> CREATE TABLE ref (
-> date VARCHAR(20),
-> host VARCHAR(20),
-> ip VARCHAR(15),
-> os VARCHAR(20),
-> page VARCHAR(30)
-> );
Query OK, 0 rows affected (0.05 sec)
Elle contiendra les informations sur les visiteurs du site. A présent pour quitter tapez simplement quit.
Reportez vous maintenant à la page Apache et au paragraphe correspondant pour la manipulation de ces tables avec Apache+PHP.
Saisissez le nom et le mot de passe de l'utilisateur que vous avez créé préalablement (ou éventuellement l'utilisateur root). Cela va créer un fichier my.ini, et notez qu'une petite icône représentant un feu vert est apparue en bas à droite de la barre des tâches
En cliquant dessus avec le bouton droit de la souris, vous avez accés aux fonctions Show me et Win 9x. Pour Show me, vous avez une fenêtre de ce style qui apparaît :
En fait l'onglet par défaut à l'apparition de la fenêtre est Environment qui détaille votre environnement (nom de la machine, adresse IP, utilisateur, version logicielle, ...). L'onglet my.ini Setup permet de modifier son fichier my.ini, on pourra ainsi modifier le répertoire de base de MySQL dans le champ Base dir et au niveau de la variable basedir et éventuellement changer la langue par défaut en remplaçant:
#language=c:/mysql/share/your language directory
Par
language=c:/Program Files/mysql/share/french
NOTE Vous devez respecter le sens du /
Sauvergarder le fichier en cliquant sur Save Modification. Vous pouvez faire disparaître la fenêtre en choisissant l'onglet Environment puis le bouton Hide Me.
Toujours avec le bouton droit de la souris si vous choisissez Win 9X vous avez le choix entre arrêter winmysqladmin (Shutdown this tool) ou de stopper le server (Shutdown the Server), ou bien encore de stopper à la fois le serveur et WinMySQLAdmin. A noter que si vous stoppez le serveur le feu passe au rouge au niveau de l'icône.
Le lancement initial de WinMySQLAdmin a placé automatiquement un raccourci vers cet exécutable dans le groupe de démarrage, en conséquence pour lancer MySQL automatiquement au démarrage il suffit de placer un raccourci de c:\Program Files\mysql\bin\winmysqladmin.exe dans le groupe de Démarrage. Si le raccourci n'a pas été créé automatiquement, au niveau de la fenêtre WinMySQLAdmin, onglet my.ini Setup appuyez sur le bouton Create ShortCut on Start Menu.
Au démarrage le serveur MySQL sera lancé automatiquement, l'icône de WinMySQLAdmin sera toujours présente, à la sortie de window WinMySQLAdmin se charge de stopper automatiquement le serveur MySQL.