Files
2020-03-27 22:43:43 +01:00

107 lines
5.1 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="utf-8">
<title>Yannick François - Les pieds dans le code</title>
<meta name="DC.title" content="elsif.fr, site de Yannick François aka yaf aka pouype."/>
<meta name="description" content="Yannick François's website. Senior developer, Code pedagogist. /ut7 teammate, proud member of Electrolab, the crazy hackerspace. Eternel supporter of April, a french association about freesoftware."/>
<meta name="keywords" content="code, développement, lean, agile, logiciel, tdd, objet, ruby, site perso, personnel, ruby on rails, refactoring, openbsd, bsd, libre, creative commons, unix"/>
<meta name="author" content="Yannick François, https://elsif.fr"/>
<meta name="designer" content="Yannick François, https://elsif.fr"/>
<meta name="geo.placename" content="Poissy, Ile de france, France"/>
<meta name="robots" content="index,follow" />
<meta name="language" content="French" />
<meta name="HandheldFriendly" content="True" />
<meta name="MobileOptimized" content="320" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=0, minimum-scale=1.0, maximum-scale=1.0" />
<link rel="index" title="Yannick François / Developer" href="https://elsif.fr" />
<link rel="stylesheet" href="/css/knacss.css" media="all"/>
<link rel="stylesheet" href="/css/elsif.css" media="all"/>
<article>
<h1>
Mysql user privileges
</h1>
<p><em>Désolé pour lapparition du précédent billet, c’étais une erreur de manipulation :-p</em></p>
<p>Petite note pour lajout dutilisateur avec Mysql.</p>
<p>Se connecter en root à Mysql</p>
<pre>
mysql -u root -p
</pre>
<p>Le -p cest pour signaler quon vas saisir le mot de passe. Jespère que vous en avez mis un bon, root est un utilisateur ayant tout les droits sur toute vos bases Mysql&hellip;</p>
<p>Plusieur possibilités ensuite. La gestion des accès et des utilisateurs (ainsi que bien dautres chose) sont faite par le biais dune base <em>système</em> dans Mysql (dans oracle on a un petit peu ça aussi, je me demande si tout les moteur de base de donnée ne le font pas&hellip;). Donc soit on fait de la requête <span class="caps">SQL</span> basique sur les tables qui vont bien (dans notre cas mysql.user où mysql est le nom de la base accéssible par root uniquement et user la table de gestion des utilisateur mysql). Soit on utilise quelque raccourci (on vas faire les deux :p).</p>
<p>Pour ajouter un utilisateur “toto” pouvant se connecter à partir de la machine hebergant la base:</p>
<pre>
USE mysql;
CREATE USER toto@localhost;
</pre>
<p>Noublié pas le <b>;</b> pour finir vos commande :). <b><span class="caps">USE</span></b> permet de spécifier sur quelle base on souhaite travailler. Le localhost précise que cet utilisateur ne pourra se connecté qu’à partir de “localhost”.</p>
<p>Voilà un petit contrôle maintenant:</p>
<pre>
SELECT * FROM user;
</pre>
<p>Doit nous retourner la liste des utilisateurs, “toto” doit apparaitre avec toute les valeurs par défaut qui vont bien, mais sans mot de passe&hellip; La boulette ! Corrigeons ça:</p>
<pre>
UPDATE user SET password=PASSWORD("motdepasse")
WHERE user="toto";
</pre>
<p>La fonction <b><span class="caps">PASSWORD</span></b> permet de crypter le mot de passe dans la base de donnée.</p>
<p>Un autre petit <b>select</b> devrais nous confirmer que le mot de passe à bien été ajouté (bon normalement il est illisible :p).</p>
<p>Les accès maintenant. Ben oui, notre utilisateur toto naccède à aucune base par défaut. Ajoutons lui laccès (toujours avec lutilisateur root):</p>
<pre>
GRANT ALL ON test.* TO 'toto'@'localhost';
</pre>
<p>Voilà, cest basique, pas forcement très fin, mais ça donne un accès complet à lutilisateur toto sur la base “test”.</p>
<p>Il faut ensuite valider toute ces modifications (surtout les privileges, la création dutilisateur nen à pas bessoin.</p>
<pre>
FLUSH PRIVILEGES;
</pre>
<p>Et voilà, on peut sortir et se connecté avec toto :).</p>
<p>Il existe beaucoup doption pour réglé les droits daccès très finement. Si vous souhaité justement mettre en place une meilleur gestion dutilisateur, je vous envoie vers la doc officielle qui est très bien faites : <a href="http://dev.mysql.com/doc/">http://dev.mysql.com/doc/</a></p>
<p><em>Depuis longtemps je souhaite utiliser <a href="http://www.postgresql.org/">PostgreSQL</a> en lieu et place de Mysql, mais voilà, le manque de temps tout ça&hellip; Bon okay, jai aucune excuse, promis je le ferais dès que jai le temps. En attendant, lavantage affiché clairement de mysql cest la simplicité, et il faut avouer que ça marche bien.</em></p>
<p><strong>edit:</strong></p>
<p>Petite ajout de dernière minutes. On peut (et je dirais même que ça semble mieux) ajouter les privilèges comme ceci:</p>
<pre>
grant all privileges on database_name.* to toto@host identified by "monpasswordenclair";
</pre>
<article>
<footer style="font-size:75%;text-align:right"><em><a href="/feed.xml">suivre les articles</a></em></footer>
</body>
</html>