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.042
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
 

ukulele

Datenbank-Guru
Beiträge
4.394
Sind es denn auch soviele Tabellen oder nur viele Datensätze? Tabellennamen ließen sich ja manuell anpassen.
 

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:

ukulele

Datenbank-Guru
Beiträge
4.394
Nunja, der Tabellenname steht nur 67 mal falsch (also lowercase only) im Dumb wenn ich das richtig verstehe :)
 
Oben