Child pages
  • MySQL Kollationsreparatur: Änderungen auf Tabellen-Ebene
Skip to end of metadata
Go to start of metadata

 



Bevor Sie fortfahren

(warning) 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

Dieser Inhalt wurde zuletzt am 13.04.2017 aktualisiert.

Der Inhalt auf dieser Seite ist schon seit einer Weile nicht mehr aktualisiert worden. Das muss kein Nachteil sein. Oft überdauern unsere Seiten Jahre, ohne wirklich unnütz zu werden. Einfach auf diesen Link klicken, wenn wir die Seite mal wieder aktualisieren sollten. Alte Inhalte können falsch, irreführend oder überholt sein. Bitte nutzen Sie das Formular oder den Live-Chat auf dieser Seite oder kontaktieren Sie uns via E-Mail unter content@seibert-media.net, wenn Sie Zweifel, Fragen, Anregungen oder Änderungswünsche haben.