MySQL fournit autorisations (privilèges ) en fonction du niveau d'activité de l'utilisateur. Des privilèges d'administrateur gèrent le fonctionnement du serveur. Privilèges de base de données sont spécifiques aux bases de données et les objets ayant en eux. Privilèges d'objets s'appliquent aux tables, index, vues et procédures stockées dans la base de données . Ces privilèges sont donnés à un utilisateur avec la commande GRANT et révoqués avec la commande REVOKE . Les privilèges
le manuel de référence MySQL dispose d'une liste complète des privilèges disponibles . Quelques-uns des privilèges les plus courants sont :
ALL privilège accorde à un utilisateur l'ensemble des privilèges disponibles à un niveau de privilège accordé . Au niveau mondial , l'utilisateur dispose de l'ensemble des privilèges disponibles . Au niveau de la table, l'utilisateur dispose uniquement des privilèges au niveau de la table.
Le privilège CREATE permet à l'utilisateur de créer de nouvelles bases de données et des tableaux.
Le privilège DROP permet à l' utilisateur de supprimer des bases de données existantes et tables.
le privilège EXECUTE permet à un utilisateur d'exécuter des routines stockées.
le privilège INSERT permet à l'utilisateur d' insérer des enregistrements ou des données dans une table.
le privilège SELECT permet l'utilisateur d'utiliser l'instruction SELECT pour extraire des données de tables.
le privilège DATABASE SHOW permet à l'utilisateur de voir les noms de base de données avec l'instruction DATABASE SHOW.
le droit de SHUTDOWN permet à l'utilisateur de arrêt de la base de données avec la commande " mysqladmin shutdown" .
la commande GRANT
pour utiliser la commande GRANT, vous devez avoir les privilèges que vous voulez donner à un autre utilisateur et doit avoir le droit de GRANT OPTION . Une instruction GRANT typique est:
GRANT ALL PRIVILEGES ON * * TO ' utilisateur ' @ ' %' WITH GRANT OPTION ;
Cette déclaration dit de donner " ALL PRIVILEGES " au niveau mondial . à l'utilisateur "mysql" sur tous les hôtes avec le " GRANT OPTION . "
Si vous voulez que l'utilisateur ait seulement des privilèges sur une seule base de données, vous allez utiliser la " base de données. * " syntaxe , où " base de données " est le nom de la base de données . Par exemple: .
GRANT SELECT , INSERT sur la base de données * TO ' utilisateur ' @ ' hostname' ;
de n'accorder les privilèges de table , spécifiez la table avec la syntaxe " database.table », tels que:
GRANT ALL ON database.table TO ' utilisateur ' @ ' hostname' ;
le REVOKE
Comme l' commande GRANT , vous devez avoir les privilèges que vous voulez retirer de l'utilisateur avec le privilège GRANT OPTION . Pour révoquer tous les privilèges d'un utilisateur de la syntaxe serait:
supprimer tous les droits GRANT OPTION DE 'user' ;
Autres déclarations REVOKE ont la même syntaxe que l'instruction GRANT . Par exemple, pour supprimer les privilèges INSERT sur une base de données pour un utilisateur, la déclaration serait:
REVOKE INSERT ON base de données * FROM 'user' ;
vous pouvez vérifier que les privilèges ont été. accordé ou retiré correctement avec les «Subventions de spectacle pour 'user' ; " . déclaration