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.6 Limiter les ressources utilisateurs
Depuis MySQL 4.0.2, il est possible de limiter certaines ressources
accessibles à un utilisateur possible.
Jusqu'à présent, la seule méthode possible pour limiter l'utilisation
des ressources serveurs MySQL était de configurer la variable de
démarrage
max_user_connections
avec une valeur non nulle.
Mais cette méthode est strictement globale, et ne permet pas de faire
des aménagements personnalisés, comme cela pourrait arriver aux
fournisseurs de services internet.
Par conséquent, un système de gestion des ressources a été introduit,
au niveau des utilisateurs :
- Nombre de requête par heure :
Toutes les commandes qu'un utilisateur peut exécuter.
- Nombre de modifications par heure :
Toute commande qui implique la modification d'une table ou d'une base.
- Nombre de connexion réalisées par heure :
Le nombre de nouvelles connexions par heure.
Un utilisateur dans le contexte ci-dessus est une ligne dans la table
user
, qui est identifié de manière unique par les colonnes
user
et
host
.
Par défaut, les utilisateurs ne sont pas limités dans l'utilisation des
ressources ci-dessus, à moins que des limites ne leur soient imposées.
Ces limites peuvent être configurées
uniquement
via la commande
GRANT (*.*)
, avec cette syntaxe :
GRANT ... WITH MAX_QUERIES_PER_HOUR N1 MAX_UPDATES_PER_HOUR N2 MAX_CONNECTIONS_PER_HOUR N3;
|
Il est possible de spécifier toute combinaison de clauses ci-dessus.
N1, N2 et N3 sont des entiers et représentent le compte par heure.
Si l'utilisateur atteint l'une des limites ci-dessus dans une
heure, sa connexion sera interrompue ou refusée, et un message
d'erreur approprié sera émis.
Les valeurs courantes d'utilisation d'un utilisateur peuvent être
remises à zéro avec la commande
GRANT
, et n'importe laquelle
des clauses ci-dessus, y compris une commande
GRANT
avec les valeurs courantes.
De plus, les valeurs courantes de tous les utilisateurs peuvent être
remises à zéro si les droits sont rechargés (dans le serveur,
ou avec la commande
mysqladmin reload
)
ou si la commande SQL
FLUSH USER_RESOURCES
est exécutée.
Cette fonctionnalité est activée aussitôt qu'une limite est donnée
à un utilisateur, avec la commande
GRANT
.
Comme pré-requis à l'activation de cette fonctionnalité, la table
user
de la base
mysql
doit contenir les colonnes additionnelles,
définies dans le script de création
mysql_install_db
et
mysql_install_db.sh
, du dossier
scripts
.
|