Untergeordnete Seiten
  • MySQL Kollationsreparatur: Änderungen auf Tabellen-Ebene
Zum Ende der Metadaten springen
Zum Anfang der Metadaten

 



Bevor Sie fortfahren

(Warnung) Bevor Sie fortfahren, stellen Sie sicher, dass:

  • Confluence abgeschaltet ist
  • Ein vollständiges Datenbank Backup vorliegt

Es ist außerdem sinnvoller wenn Sie diese Änderugen zuerst in einer Testumgebung ausprobieren, bevor Sie die Schritte auf die Produktivumgebung übertragen.

 



Die Datenbank-Tabellen mit falschen Zeichensätzen oder Kollationen ermitteln

Ändern Sie "database" auf den Namen Ihrer Datenbank ab und starten Sie die folgende Abfrage:

SELECT T.TABLE_NAME, C.CHARACTER_SET_NAME, C.COLLATION_NAME
FROM information_schema.TABLES AS T, information_schema.COLLATION_CHARACTER_SET_APPLICABILITY AS C
WHERE C.collation_name = T.table_collation
AND T.table_schema = 'database'
AND
(
    C.CHARACTER_SET_NAME != 'utf8'
    OR
    C.COLLATION_NAME != 'utf8_bin'
);



Die Kollationen und Zeichensätze anpassen

Um eine einzelne Tabelle zu fixen, lassen Sie die folgende Abfrage gegen Ihre Datenbank laufen - ändern Sie auch hier wieder "tableName" in den entsprechenden Namen um:

ALTER TABLE `tableName` CHARACTER SET utf8 COLLATE utf8_bin

 

Um alle Tabellen in Ihrer Datenbank zu ändern müssen Sie für jede falsch konfigurierte Tabelle eine ALTER TABLE Abfrage generieren. Das folgende Script erzeugt eine Kollektion dieser Abfragen. Ändern Sie "database" auf den Namen Ihrer Datenbank ab.

SELECT CONCAT('ALTER TABLE ',  table_name, ' CHARACTER SET utf8 COLLATE utf8_bin;')
FROM information_schema.TABLES AS T, information_schema.`COLLATION_CHARACTER_SET_APPLICABILITY` AS C
WHERE C.collation_name = T.table_collation
AND T.table_schema = 'database'
AND
(
    C.CHARACTER_SET_NAME != 'utf8'
    OR
    C.COLLATION_NAME != 'utf8_bin'
);

 



Weiterführende Quellen

 



Confluence
  • Keine Stichwörter