ecloudocs

Bases de données MySQL

Chaque serveur peut avoir ses bases MySQL managées : ecloudserv crée la base, l'utilisateur et les droits, et te donne des identifiants prêts à l'emploi. Tout se passe dans l'onglet Bases de données de ton serveur.

1. Créer une base

Panel → ton serveur → onglet Bases de données → saisis un nom (lettres minuscules, chiffres, _) → Créer la base.

Les identifiants complets s'affichent aussitôt : hôte, nom de base, utilisateur et mot de passe. Note bien le mot de passe — tu peux le réafficher via Identifiants, ou en générer un nouveau via Régénérer (les applications utilisant l'ancien perdront alors l'accès).

2. Se connecter depuis ton code

Utilise les identifiants affichés par le panel. Exemples :

Node.js (paquet mysql2) :

const mysql = require("mysql2/promise");
const db = await mysql.createConnection({
  host: "HOTE",        // ex. 172.18.0.1
  port: 3306,
  user: "UTILISATEUR",
  password: "MOT_DE_PASSE",
  database: "NOM_BASE",
});
const [rows] = await db.query("SELECT 1");

Python (paquet pymysql) :

import pymysql
db = pymysql.connect(host="HOTE", port=3306, user="UTILISATEUR",
                     password="MOT_DE_PASSE", database="NOM_BASE")

PHP (PDO) :

$pdo = new PDO("mysql:host=HOTE;port=3306;dbname=NOM_BASE", "UTILISATEUR", "MOT_DE_PASSE");

💡 Bonnes pratiques : stocke ces identifiants dans des variables d'environnement (onglet Variables du serveur — elles sont chiffrées), jamais en dur dans le code.

3. Créer des tables et insérer des données

Trois façons, de la plus simple à la plus complète :

  • Depuis le panel : onglet Bases de données → Gérer sur ta base → + Créer une table (nom + colonnes, une colonne id auto-incrémentée est ajoutée automatiquement), puis + Insérer une ligne pour ajouter des données, et un champ SQL rapide pour le reste.
  • Éditeur SQL complet : bouton Ouvrir l'éditeur SQL — interface type phpMyAdmin (structure, édition de lignes, export CSV, historique).
  • Depuis ton code : exécute tes requêtes CREATE TABLE / INSERT au démarrage de ton application.

4. Requêtes utiles

-- Créer une table
CREATE TABLE utilisateurs (
  id INT AUTO_INCREMENT PRIMARY KEY,
  pseudo VARCHAR(255) NOT NULL,
  points INT DEFAULT 0,
  cree_le DATETIME DEFAULT CURRENT_TIMESTAMP
);

-- Insérer / lire / modifier / supprimer
INSERT INTO utilisateurs (pseudo, points) VALUES ('lucas', 10);
SELECT * FROM utilisateurs WHERE points > 5 ORDER BY points DESC;
UPDATE utilisateurs SET points = points + 1 WHERE pseudo = 'lucas';
DELETE FROM utilisateurs WHERE id = 3;

-- Structure
SHOW TABLES;
DESCRIBE utilisateurs;
ALTER TABLE utilisateurs ADD COLUMN email VARCHAR(255);

5. Dépannage

  • Access denied : mauvais utilisateur ou mot de passe — réaffiche les identifiants dans le panel, ou régénère le mot de passe et mets à jour ton application.
  • ECONNREFUSED / timeout : mauvais hôte ou port — utilise exactement l'hôte affiché dans les identifiants du panel (pas localhost : ta base ne tourne pas dans le même container que ton application).
  • Unknown database : vérifie le nom exact de la base (préfixé automatiquement, ex. s16_mabase) dans les identifiants.
  • Trop de connexions : utilise un pool de connexions (mysql2 : createPool) plutôt qu'une connexion par requête.

Voir aussi : héberger un bot · API REST pour créer des bases par programme.