Was ist eine Datenbank überhaupt?
Eine Datenbank ist ein strukturierter Speicher für Daten, der schneller und sicherer ist als z.B. eine Textdatei. MySQL (bzw. der Fork MariaDB) ist die beliebteste Open-Source-Datenbank für Webanwendungen.
Wann brauche ich eine?
- WordPress, Joomla, Drupal: speichert Beiträge, User, Einstellungen in MySQL
- Discord-Bots: User-Stats, Konfigurationen
- Gameserver-Plugins: viele Bukkit/Spigot-Plugins (LuckPerms, EssentialsX) optional mit MySQL
- Eigene Apps: Node, Python, PHP, Go — fast alles spricht MySQL/MariaDB
MySQL vs. MariaDB
MariaDB ist ein 2009 entstandener Fork von MySQL, gemacht von den Original-Entwicklern. Beide sind heute fast 100% kompatibel. MariaDB ist Open Source ohne Oracle-Hintergrund und in vielen Linux-Distributionen Standard. Bei Nytrix bekommst du MariaDB-Server — funktioniert für alle Apps, die „MySQL" verlangen.
Datenbank bestellen und nutzen
Im Nytrix-Dashboard unter „Datenbanken":
- Neue Datenbank anlegen
- Name und Plan wählen
- Du bekommst Hostname, Datenbank-Name, Username und Passwort
phpMyAdmin — Web-Oberfläche
Nytrix stellt eine phpMyAdmin-Oberfläche bereit, in der du:
- Tabellen erstellen, ändern, löschen
- Daten direkt bearbeiten
- SQL-Abfragen ausführen
- Backups (Dumps) als .sql herunterladen
Für Anfänger meistens praktischer als CLI.
Verbindung aus deinem Code
PHP (PDO):
$pdo = new PDO('mysql:host=db.nytrix.de;dbname=mydb;charset=utf8mb4', 'user', 'pass');
Node.js (mysql2):
const conn = await mysql.createConnection({
host: 'db.nytrix.de',
user: 'user',
password: 'pass',
database: 'mydb'
});
Python (PyMySQL):
conn = pymysql.connect(host='db.nytrix.de', user='user', password='pass', database='mydb')
Backups nicht vergessen
Datenbanken sind oft das wichtigste deiner App. Tägliche Dumps sind Pflicht:
mysqldump -h db.nytrix.de -u user -p mydb > backup-$(date +%F).sql
Und auf einen externen Storage (z.B. FTP-Storage) sichern.
Sicherheits-Tipps
- Niemals den Root-User für Apps nutzen — pro App einen User mit minimalen Rechten
- Passwörter min. 20 Zeichen
- Externe IPs auf eine Whitelist beschränken, wenn möglich
- Prepared Statements überall — schützt vor SQL-Injection