Création — Nicolas THOREZ 2020/08/04 10:44
Modification — Nicolas THOREZ 2021/05/25 15:57
| Commande | Explications | Exemple |
|---|---|---|
SELECT | Permet la sélection des données ainsi que l'affichage de ces dernières. | SELECT 'Hello World !'; SELECT (10-8)*2, (10+5)*9; |
CREATE | Permet de créer des données selon le type défini. | CREATE DATABASE test_db; |
SET | Définie une variable et sa valeur. | SET NAMES 'utf8'; |
Pour la création d'une nouvelle base de données, on peut utiliser la commande ci-dessous (en remplaçant database_name par le nom choisi pour la nouvelle base) :
CREATE DATABASE database_name;
Pour créer un utilisateur, on commence par définir le nom de l'utilisateur (user par exemple), le point de connexion (localhost pour l'exemple) et son mot de passe (pass par exemple). Ce qui nous donne :
CREATE USER 'user'@'localhost' IDENTIFIED BY 'pass';
Ensuite, il faut lui donner des droits (ALL PRIVILEGES dans l'exemple donne tous les droits) sur une base (on choisir db) et sur une table de cette base (tbl dans l'exemple). Ce qui donne :
GRANT ALL PRIVILEGES ON db.tbl TO 'user'@'localhost'; FLUSH PRIVILEGES;
localhost ne doit être utilisé que si le client se connecte sur le serveur, ce qui est une mauvaise idée par défaut (usage excéssif de la mémoire, problème de sécurité, etc…). Il vaut mieux utiliser l'adresse IP à partir de laquelle le client se connecte. Le caractère % sert à indiquer l'accès depuis n'importe quelle adresse.
Pour les bases et les tables, le caractère * sert à indiquer toutes ces dernières.
SHOW GRANTS FOR 'user'@'%';
SHOW DATABASES;
SELECT user FROM mysql.user;
mysql ≥ 5.7.6 et MariaDB ≥ 10.1.21
ALTER USER 'user'@'localhost' IDENTIFIED BY 'new_password'; FLUSH PRIVILEGES;
mysql ≤ 5.7.5 et MariaDB ≤ 10.1.20
SET PASSWORD FOR 'user'@'localhost' = PASSWORD('new_password');
FLUSH PRIVILEGES;