Skip to main content

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ée testdb.

  • GRANT ALL ON testdb. TO 'username'@'10.10.0.111' IDENTIFIED BY 'password';*

    • Crée l’utilisateur username s’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 testdb et toutes ses tables.
  • 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.