[center][b][size=18][police=Arial, Helvetica, sans-serif]
[color=#0099FF]Créer un utilisateur Mysql, ainsi que sa propre base de donnée[/color][/police][/size]
[/b][/center]
[color=red][u]But :[/u][/color] Voici comment créer un utilisateur mysql disposant de droits limités à sa propre base de donnée.
Tutorial par l'exemple :
Si nous souhaitons ajouter l'utilisateur eric , avec un mot de passe 'motdepasse' (sans les guillemets) la première partie à indiquer à Mysql (nécessite un utilisateur connecté possédant des droits d'administrateurs) :
[code=mysql]
CREATE USER 'eric'@'%' IDENTIFIED BY 'motdepasse';
[/code]
Le signe '%' signifie que eric pourra se connecter de n'importe quel serveur. Il aurait parfaitement été possible d'y mettre 'localhost', comme très souvent appliqué sur des serveurs d'hébergement.
'motdepasse' (sans les guillemets) est ici le mot de passe de notre cher eric.
Ne pas oublier la ; (point virgule) de fin pour indiquer à mysql la fin de notre commande.
Par php (nécessite un utilisateur connecté possédant des droits d'administrateurs) :
[code=php]
mysql_query("CREATE USER 'eric'@'%' IDENTIFIED BY 'motdepasse'");
?> [/code]
Régler ses privilèges :
Certains paramètres optionnels tels que WITH MAX_QUERIES_PER_HOUR x MAX_CONNECTIONS_PER_HOUR x MAX_UPDATES_PER_HOUR x MAX_USER_CONNECTIONS x peuvent être ajoutés également, où x est un nombre naturel.
[code=mysql]
GRANT USAGE ON * . * TO 'eric'@'%' IDENTIFIED BY 'motdepasse';
[/code]
[code=php]
mysql_query("GRANT USAGE ON * . * TO 'eric'@'%' IDENTIFIED BY 'motdepasse';"); # Note : Le ; n'est pas nécessaire dans la requête mysql. En effet, php l'ajoute tout seul.
?>
[/code]
Création d'une base de donnée mysql :
CREATE DATABASE IF NOT EXISTS `eric` ;
Comme une simple traduction l'explique, ceci créé une database, si elle n'est pas déja présente (afin d'éviter une erreur) du nom de 'eric'
[code=mysql]
CREATE DATABASE IF NOT EXISTS `eric` ;
[/code]
[code=php]
mysql_query("CREATE DATABASE IF NOT EXISTS `eric`"); # Note : Le ; n'est pas nécessaire dans la requête mysql. En effet, php l'ajoute tout seul.
?>
[/code]
Maintenant, régler les droits pour cette base, en ne permettant à 'eric' d'agir que sur cette base de donnée.
[code=mysql]
GRANT ALL PRIVILEGES ON `eric` . * TO 'eric'@'%';
[/code]
[code=php]
mysql_query("GRANT ALL PRIVILEGES ON `eric` . * TO 'eric'@'%'");
?>[/code]
Au final, à la question comment ajouter un utilisateur mysql ainsi que sa base de donnée, le code complet est :
[code=mysql]
CREATE USER 'eric'@'%' IDENTIFIED BY '****************';
GRANT USAGE ON * . * TO 'eric'@'%' IDENTIFIED BY '****************' ;
CREATE DATABASE IF NOT EXISTS `eric` ;
GRANT ALL PRIVILEGES ON `eric` . * TO 'eric'@'%';
[/code]
Pour php :
[code=php]
$pseudo = eric ;
$nombase = mabase;
$motdepasse = 'abcd';
$sql = "CREATE USER '$pseudo'@'%' IDENTIFIED BY '$motdepasse';
GRANT USAGE ON * . * TO 'eric'@'%' IDENTIFIED BY '$motdepasse' ;
CREATE DATABASE IF NOT EXISTS `$nombase` ;
GRANT ALL PRIVILEGES ON `$nombase` . * TO '$pseudo'@'%';"
mysql_query($sql);
?>
[/code]
News
Social
Les lecteurs ont donné une note moyenne de :
Note: 1 sur 10
Donnez votre note à ce tuto sur 10 :
Note
10
9
8
7
6
5
4
3
2
1
0
Prendre contact avec Tayo.fr : Formulaire Tayo
Tayo.fr, copyright jusqu'en 2233 ( Au moins ! ).
Les lecteurs ont donné une note moyenne de :
Note: 1 sur 10
Donnez votre note à ce tuto sur 10 :