7_SQL server distant
Exemple complet de création d’une base et d’un utilisateur
CREATE DATABASE testdb;
GRANT ALL ON testdb.* TO 'username'@'10.10.0.111' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
EXIT;
Explications :
-
CREATE DATABASE testdb;
Crée une nouvelle base de données nomméetestdb. -
GRANT ALL ON testdb. TO 'username'@'10.10.0.111' IDENTIFIED BY 'password';*
- Crée l’utilisateur
usernames’il n’existe pas. - Autorise la connexion depuis l’adresse IP
10.10.0.111. - Définit le mot de passe
password. - Donne tous les privilèges sur la base
testdbet toutes ses tables.
- Crée l’utilisateur
-
FLUSH PRIVILEGES;
Recharge immédiatement les privilèges en mémoire. -
EXIT;
Quitte le client MySQL/MariaDB (ce n’est pas une commande SQL).
Exemple avec WITH GRANT OPTION
GRANT ALL PRIVILEGES ON madb.*
TO 'toto'@'192.168.100.51' IDENTIFIED BY 'MonSuperMotDePasseMySQL'
WITH GRANT OPTION;
Explication :
- WITH GRANT OPTION permet à l’utilisateur de transmettre à d’autres utilisateurs les privilèges qu’il possède.
- Si ce privilège lui est retiré, tous les privilèges qu’il a accordés à d’autres sont automatiquement révoqués.
C’est un droit puissant, à utiliser avec prudence.
Tester la connexion depuis un hôte distant
Pour vérifier que l’utilisateur distant peut se connecter :
mariadb -h <ip> -u <username> -p<password> testdb
Explications :
- -h : adresse du serveur MariaDB
- -u : utilisateur SQL
- -p : mot de passe (collé au
-p) - testdb : base à laquelle se connecter
Si la connexion fonctionne, la configuration réseau et les privilèges SQL sont corrects.