Datenbankeinrichtung
Verstehen Sie die Datenbank-Standards, die FiveNet erwartet, und wie Sie häufige migrationsbezogene Kollationsprobleme vermeiden.
Zeichensatz und Kollation
Stellen Sie sicher, dass Zeichensatz und Kollation Ihrer Datenbank, Tabellen und Spalten konsistent sind.
Kollationsfehler gehören zu den häufigsten Gründen, warum Datenbankmigrationen von FiveNet fehlschlagen, insbesondere nach dem Umzug von Datenbanken zwischen Servern oder dem Import älterer Dumps.
utf8mb4_unicode_ci
Empfohlener Zeichensatz: utf8mb4Aktuelle Datenbankeinstellungen prüfen
Verwenden Sie die folgenden Abfragen, um den aktuellen Zeichensatz und die aktuelle Kollation zu prüfen:
USE `__IHRE_DATENBANK_NAME_HIER__`;
SHOW CREATE DATABASE `__IHRE_DATENBANK_NAME_HIER__`;
SHOW TABLE STATUS;
Wenn Sie zusätzlich die Kollation einzelner Spalten prüfen möchten, sehen Sie sich die Tabellendefinition direkt an:
SHOW CREATE TABLE `__IHRE_TABELLEN_NAME_HIER__`;
Kollationskonflikte beheben
Eine nützliche Anleitung zum Konvertieren von Tabellen auf utf8mb4/utf8mb4_unicode_ci in MySQL 5.5 finden Sie auf Database Administrators Stack Exchange.
Bevor Sie die erzeugten Umwandlungsabfragen ausführen, deaktivieren Sie die Fremdschlüsselprüfung:
SET foreign_key_checks = 0;
Nach Abschluss der Umwandlung aktivieren Sie sie wieder:
SET foreign_key_checks = 1;
DSN-Kollation
Die Kollation in Ihrer FiveNet-Datenbank-DSN sollte zu der Kollation passen, die Ihr Datenbankserver und Ihre Tabellen verwenden.
Beispiel:
DB_USER:DB_PASS@tcp(DB_HOST:DB_PORT)/DB_NAME?collation=utf8mb4_unicode_ci&parseTime=True&loc=Europe%2FBerlin
Wenn Ihre DSN eine andere Kollation als die tatsächliche Datenbank verwendet, können Migrationen oder Abfragen fehlschlagen.
Erstellen eines Datenbankbenutzers
Unten finden Sie Beispielabfragen, um einen Datenbankbenutzer namens fivenet mit vollem Zugriff auf eine bestimmte Datenbank zu erstellen. Ersetzen Sie password und datenbank_name vor der Verwendung durch Ihre tatsächlichen Werte.
CREATE USER 'fivenet'@'%' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON `datenbank_name`.* TO 'fivenet'@'%';
Für einen separaten DBSync-Quellbenutzer reicht in der Regel Lesezugriff aus. Siehe DBSync für ein Beispiel eines dedizierten Nur-Lese-Benutzers.
Empfohlene Werkzeuge
DBeaver ist ein gutes allgemeines Datenbankverwaltungswerkzeug, wenn Sie lieber mit einer grafischen Oberfläche Schemas, Kollationen und Daten prüfen möchten.
