stackit.guru
DE

MariaDB auf STACKIT – Managed relationale Datenbank

#database
database mariadb sql

MariaDB auf STACKIT – Managed relationale Datenbank

WordPress, Magento, Laravel – unzählige Web-Frameworks setzen auf MySQL-kompatible Datenbanken. MariaDB auf STACKIT gibt dir eine Managed-Instanz des beliebten MySQL-Forks, optimiert für Web-Anwendungen und dynamische Websites.

Was ist MariaDB auf STACKIT?

MariaDB auf STACKIT ist ein Managed-Database-Service, der dir eine produktionsreife MariaDB-Instanz bereitstellt. Als Drop-in-Replacement für MySQL funktioniert MariaDB mit allen MySQL-kompatiblen Anwendungen und Frameworks.

  • MySQL-kompatibel: Bestehende MySQL-Anwendungen funktionieren ohne Code-Änderung.
  • Automatisches Patching: Sicherheitsupdates werden automatisch eingespielt.
  • Tägliche Backups: Automatische Backups mit Point-in-Time Recovery.
  • Optimiert für Web: Konfiguration ist auf typische Web-Workloads abgestimmt.
  • Private Networking: Zugriff ausschließlich über STACKIT VPC.

Tutorial: MariaDB-Instanz erstellen und mit Web-App verbinden

1. Instanz erstellen

stackit mariadb instance create \
  --name meine-mariadb \
  --project-id your-project-id \
  --version 11.4 \
  --flavor db1.2 \
  --storage 20

2. Credentials abrufen

stackit mariadb credentials list --instance meine-mariadb

# Ausgabe:
# HOST       meine-mariadb.mariadb.stackit.cloud
# PORT       3306
# DATABASE   defaultdb
# USER       stackit_user
# PASSWORD   ********

3. Verbindung mit mysql-Client testen

mysql -h meine-mariadb.mariadb.stackit.cloud \
  -u stackit_user -p \
  --ssl \
  defaultdb

4. WordPress konfigurieren

In der wp-config.php:

define('DB_NAME', 'defaultdb');
define('DB_USER', 'stackit_user');
define('DB_PASSWORD', 'your-password');
define('DB_HOST', 'meine-mariadb.mariadb.stackit.cloud:3306');
define('MYSQL_CLIENT_FLAGS', MYSQLI_CLIENT_SSL);

5. Verbindung aus Python

import mysql.connector

conn = mysql.connector.connect(
    host="meine-mariadb.mariadb.stackit.cloud",
    port=3306,
    database="defaultdb",
    user="stackit_user",
    password="your-password",
    ssl_disabled=False
)

cursor = conn.cursor()
cursor.execute("SELECT VERSION()")
print(cursor.fetchone())
cursor.close()
conn.close()

6. Verbindung aus Node.js

const mysql = require("mysql2/promise");

const conn = await mysql.createConnection({
  host: "meine-mariadb.mariadb.stackit.cloud",
  port: 3306,
  database: "defaultdb",
  user: "stackit_user",
  password: "your-password",
  ssl: {}
});

const [rows] = await conn.execute("SELECT NOW()");
console.log(rows[0]);
await conn.end();

Nächste Schritte

  • Richte Read Replicas ein, um Leselast von der primären Instanz zu nehmen.
  • Konfiguriere Connection Pooling in deinem Framework, um Verbindungen effizient zu nutzen.
  • Nutze STACKIT Monitoring, um Slow Queries zu identifizieren und die Performance zu optimieren.