
Ok, ich habe also eine MySQL 5.x-Datenbank von einer OS X-Instanz gedumpt und habe Probleme, die Datenbank in den OpenShift MySQL 5.5-Container zu importieren. Meine Tabellen sind Camel-Case (z. B. „tblAccounts“), aber das Skript gibt Fehler wie „Tabelle tblaccounts nicht gefunden“ aus.
Ich glaube, dass MySQLs Flag lower_case_table_names unter OS X auf 2 gesetzt ist. Und ich konnte mit dem Befehl rhc set env diese Variable unter OpenShift von 0 auf 2 ändern. Ich erhalte immer wieder den Fehler „Fehlende Tabelle“.
Ich habe mehrere Kombinationen dieses Flags ausprobiert und versucht, die Datenbank aus Skripten neu zu laden, die mit mysqldump und MySQL Workbench erstellt wurden. Ich habe jedoch keine saubere Methode gefunden, bei der dieser Fehler nicht auftritt. Mir gehen die Ideen aus, wie ich dies sauber bewerkstelligen kann. Irgendwelche Vorschläge? Danke,
fc
Antwort1
Ich weiß, das ist ein bisschen spät – aber für alle anderen, die dieses Problem haben.
MariaDB ändert den Wert lower_case_table_name
beim Start von 2 auf 0, wenn es erkennt, dass es sich um ein Dateisystem mit Groß-/Kleinschreibung handelt:
[Warning] lower_case_table_names was set to 2, even though your the file system '/var/lib/mysql/' is case sensitive. Now setting lower_case_table_names to 0 to avoid future problems.
Ich gehe davon aus, dass MySQL dasselbe macht (da es davon abgezweigt ist).
Sie können es jedoch auf einstellen 1
und es dauert. Bei mir (ich migriere auch von MacOS) konnte ich dies tun, nachdem ich meine Datenbanken geladen hatte. und es hat gut funktioniert ... aber das scheint gegen die Dokumentation hinsichtlich des Unterschieds zwischen 1
und zu verstoßen 2
. Wenn MySQL damit nicht zufrieden ist, müssen Sie möglicherweise Ihre Datenbank leeren, es auf einstellen 1
und dann Ihre Daten erneut laden.