4.3 Gestion des comptes utilisateurs de MySQL
4 Administration du serveur
Manuel de Référence MySQL 4.1 : Version Française
. Syntaxe de GRANT et REVOKE . Nom d'utilisateurs MySQL et mots de passe . Quand les modifications de privilèges prennent-ils effets ? ->Création des premiers droits MySQL . Ajouter de nouveaux utilisateurs à MySQL . Limiter les ressources utilisateurs . Configurer les mots de passe . Garder vos mots de passe en lieu sûr . Utilisation des connexions sécurisées
|
4.3.4 Création des premiers droits MySQL
Après avoir installé MySQL, vous devez configurer les premiers droits du serveur
en exécutant le script
scripts/mysql_install_db
.
Vue d'ensemble rapide de l'installation .
Le script
mysql_install_db
démarre le serveur
mysqld
et initialise
les tables de droits, avec les paramètres suivants :
-
L'utilisateur MySQL
root
est créé en tant qu'administrateur avec tous les
droits. Les connexions doivent se faire depuis l'hôte local.
Note
:
Le mot de passe de l'utilisateur initial
root
est vide, ce qui permet
à n'importe qui de se connecter en tant que
root
sans mot de passe
, pour profiter de tous les droits.
-
Un utilisateur anonyme est créé, qui peut faire ce qu'il veut avec toutes les tables
dans la base de données
'test'
ou commençant par
'test_'
. Les connexions
doivent être faites depuis l'hôte local. Cela signifie qu'un utilisateur local peu
se connecter sans mot de passe et être traité comme un utilisateur anonyme.
-
Les autres droits sont réservés. Par exemple, un utilisateur normal ne peut
pas utiliser les commandes
mysqladmin shutdown
ou
mysqladmin processlist
.
Note
: les droits par défaut sont différents sous Unix.
Faire fonctionner MySQL sur Windows .
Comme votre installation de base n'est pas du tout sécurisée, la première action
que vous devez prendre est de spécifier un mot de passe à votre utilisateur
root
. Vous pouvez faire cela comme ceci (notez que vous aurez à spécifier
le mot de passe en utilisant la fonction
PASSWORD()
) :
shell> mysql -u root mysql mysql> SET PASSWORD FOR root@localhost=PASSWORD('new_password');
|
Si vous savez ce que vous faites, vous pouvez aussi directement manipuler les tables
de droits :
shell> mysql -u root mysql mysql> UPDATE user SET Password=PASSWORD('new_password') -> WHERE user='root'; mysql> FLUSH PRIVILEGES;
|
Une autre méthode pour modifier de mot de passe est d'utiliser la commande
en ligne
mysqladmin
:
shell> mysqladmin -u root password new_password
|
Seuls les utilisateurs ayant des droits d'accès en lecture et écriture dans
la base de données
mysql
peuvent modifier les mots de passe des autres
utilisateurs. Tous les utilisateurs normaux, à l'exception des anonymes, peuvent
uniquement modifier leur mot de passe personnel, avec l'une des commandes
ci-dessus ou avec la commande
SET PASSWORD=PASSWORD('new password')
.
Notez que si vous modifiez le mot de passe dans la table
user
en utilisant
la première méthode, vous devez indiquer au serveur qu'il doit relire les droits
avec la commande
FLUSH PRIVILEGES
), sinon ces modifications ne seront
pas prises en compte.
Une fois que le mot de passe
root
a été modifié, vous devrez le fournir
pour vous connecter au serveur en tant que
root
.
Vous pouvez aussi laisser le mot de passe du
root
vide, afin de faire des
connexions facilement lors de la configuration initiale du serveur. Mais n'oubliez
pas de le spécifier lors de la mise en production.
Voyez le script
scripts/mysql_install_db
pour savoir comment il configure
les droits par défaut. Vous pouvez l'utiliser comme base pour ajouter des droits
à d'autres utilisateurs.
Si vous voulez que les droits initiaux soient différents, vous pouvez
aussi modifier le script
mysql_install_db
avant de l'exécuter.
Pour recréer complètement les tables de droits, effacez tous les fichiers
.frm
,
.MYI
et
.MYD
dans le dossier contenant les tables
de la base
mysql
. (C'est le dossier
mysql
dans le dossier
de données, qui est indiqué par la commande
mysqld --help
.) Puis, exécutez
le script
mysql_install_db
, après l'avoir éventuellement modifié avec
les droits que vous souhaitez.
Note
: pour les versions de MySQL antérieures à la version 3.22.10,
il ne faut pas effacer les fichiers
.frm
. Si vous le fait accidentellement,
vous devez les copier depuis la distribution MySQL avant d'exécuter le script
mysql_install_db
.
|