Tabellennamen in dump in Kleinschreibung

Churchy

Neuer Benutzer
Beiträge
2
Hallo Forum,

ich habe ein Problem:
ich möchte den (durchaus großen) Datenbestand einer MySQL-Datenbank von einem Server (unter Windows) auf einen anderen Server (unter Linux) übertragen.

Hierzu mache ich einen SQL-Dump, den ich dann wieder einspielen möchte.
Das Einspielen scheitert jedoch daran, dass meine Tabellen(namen), die in CamelCase definiert sind (vFallSitzung), in reiner Kleinschreibung exportiert werden (vfallsitzung), die Insert-Befehle jedoch von den ursprünglichen Tabellennamen ausgehen (und MySQL somit mit "Tabelle unbekannt" reagiert).

Vor dem Dump alles in Kleinbuchstaben zu konvertieren ist auch keine Lösung, da die auf der Datenbank arbeitende PHP-Anwendung in den unzähligen Statements auch Tabellennamen in der ursprünglichen Schreibung enthält.

Weiß jemand Rat?
 
Werbung:

akretschmer

Datenbank-Guru
Beiträge
9.423
Hallo Forum,

ich habe ein Problem:
ich möchte den (durchaus großen) Datenbestand einer MySQL-Datenbank von einem Server (unter Windows) auf einen anderen Server (unter Linux) übertragen.

Hierzu mache ich einen SQL-Dump, den ich dann wieder einspielen möchte.
Das Einspielen scheitert jedoch daran, dass meine Tabellen(namen), die in CamelCase definiert sind (vFallSitzung), in reiner Kleinschreibung exportiert werden (vfallsitzung), die Insert-Befehle jedoch von den ursprünglichen Tabellennamen ausgehen (und MySQL somit mit "Tabelle unbekannt" reagiert).

Vor dem Dump alles in Kleinbuchstaben zu konvertieren ist auch keine Lösung, da die auf der Datenbank arbeitende PHP-Anwendung in den unzähligen Statements auch Tabellennamen in der ursprünglichen Schreibung enthält.

Weiß jemand Rat?


Einer der unzähligen blöden 'features' von MySQL. Google nach "mysql windows dump case sensitive". Möglicherweise hilft aber das auch nur begrenzt, wenn z.B. eine Tabelle 'TaBeLlE' heißt und bisher auf 'tabelle' oder 'TABELLE' oder 'tAbElLe' zugegriffen wurde. Viel Spaß noch mit MySQL ;-)

Ach ja: google mal nach "mysql linux case insensitive table names"

Andreas
 

Churchy

Neuer Benutzer
Beiträge
2
Es sind 67 Tabellen ...
die Dump-Datei ist 320 M groß; da ist Suchen&Ersetzen kein wirklicher Spaß.

Ich habe jetzt vor dem Import den mysqld (Linux) auf [lower_case_table_names = 1] konfiguriert und neu gestartet.
Der Import hat geklappt, die Anwendung scheint auch zu arbeiten.

Schau 'mer mal ...

Danke jedenfalls an ukulele und akretschmer für's Mitdenken!
 
Werbung:
Oben