# MariaDB

Source : https://webgune.cloud/oc-oc/docs/db-mariadb · Mis à jour le 2026-10-27

# MariaDB

MariaDB est un fork communautaire de MySQL, compatible avec son protocole et ses pilotes : si votre outil parle MySQL, il parle MariaDB.

## Créer une instance

**+ Nouveau service → Base de données → MariaDB**. Les identifiants (hôte, port, utilisateur, mot de passe, nom de base) sont générés automatiquement et visibles dans le panneau du service, onglet **Connexion**.

## Chaîne de connexion

```bash
# Depuis un autre service du même projet (réseau interne)
DATABASE_URL=mysql://user:password@host-interne:3306/mabase

# Depuis l'extérieur (port public exposé)
DATABASE_URL=mysql://user:password@ip-publique:PORT/mabase
```

> Le schéma reste `mysql://` : les pilotes MySQL fonctionnent tels quels avec MariaDB.

## Prisma

```prisma
datasource db {
  provider = "mysql"        // valable pour MariaDB
  url      = env("DATABASE_URL")
}
```

## mysql2 (Node.js)

```typescript
import mysql from "mysql2/promise";

const pool = mysql.createPool(process.env.DATABASE_URL!);
const [rows] = await pool.query("SELECT * FROM users WHERE id = ?", [42]);
```

## MySQL ou MariaDB ?

| Critère | Verdict |
|---------|---------|
| Compatibilité applicative | Identique dans la quasi-totalité des cas |
| WordPress, outils PHP | Les deux fonctionnent. MariaDB est souvent recommandé |
| Fonctionnalités récentes très spécifiques (JSON MySQL 8…) | Vérifiez la parité avant de choisir |

En cas de doute, restez sur ce que votre framework documente. Migrer de l'un à l'autre reste simple (dump/restore).

## Sauvegardes

Comme pour les autres bases, pensez à des dumps réguliers :

```bash
mysqldump -h HOST -P PORT -u USER -p MABASE > backup.sql
```

Voir aussi : [MySQL](/docs/db-mysql), [Bases de données](/docs/bases-de-donnees)
