Migration von MyISAM nach InnoDB

Migration von MyISAM nach InnoDB

am 23.05.2006 18:50:06 von Michael Stehmann

Hallo zusammen,

nachdem ich mich jetzt einige Zeit mit MySQL beschäftige, taucht für
mich die Frage auf, ob als Tabellen-Typ InnoDB nicht besser geeignet
sei, als MyISAM.

Ein Punkt ist die dann vorhandene Referenzielle Integrität. Diese soll
dann möglich sein.

Meine Frage:

Was muss ich bei einer sollen Migration beachten?

Welche neuen Probleme handele ich mir dabei ein ?

Mein System ist MySQL 4.1 auf Debian/Sarge


Mechtilde

Re: Migration von MyISAM nach InnoDB

am 23.05.2006 20:01:13 von Christian Kirsch

Stehmann schrieb:
> Hallo zusammen,
>
> nachdem ich mich jetzt einige Zeit mit MySQL beschäftige, taucht für
> mich die Frage auf, ob als Tabellen-Typ InnoDB nicht besser geeignet
> sei, als MyISAM.
>

Für was? So abstrakt lässt sich diese Frage ähnlich gut beantworten wie
die, ob Fahrrad oder Flugzeug besser ist: Wenn ich zum Briefkasten
möchte, ersteres. Für den Transport nach Australien ziehe ich das zweite
vor.

> Meine Frage:
>
> Was muss ich bei einer sollen Migration beachten?
>

InnoDB benutzt Tablespaces in festgelegten Dateien. Die sollten also
wenigstens initial groß genug sein. Aber dazu findest Du vermutlich
alles Wissenswerte in der Dokumentation.

> Welche neuen Probleme handele ich mir dabei ein ?
>
Die Dokumentation beschreibt meines Wissens ziemlich ausführlich, welche
Features in welchen Storage Engines vorhanden sind und welche nicht. Da
Du nicht verrätst, was Du brauchst, wessen Abwesenheit also 'Probleme'
bereiten könnte, ist diese Frage kaum zu beantworten. IIRC kennt InnoDB
keine Fulltext-Indizes, vielleicht hilft Dir das.

Re: Migration von MyISAM nach InnoDB

am 23.05.2006 20:44:21 von Andreas Kretschmer

Andreas
--
q: why do so many people take an instant dislike to mysql?
a: it saves time (oicu in #postgresql)
Explaining the concept of referential integrity to a mysql user is like
explaining condoms to a catholic (Shadda in #postgresql)

Re: Migration von MyISAM nach InnoDB

am 08.06.2006 11:53:09 von thborsdorf

Stehmann schrieb am 23.05.2006 18:50:
> ob als Tabellen-Typ InnoDB nicht besser geeignet sei, als MyISAM.

Ich überlege auch umzustellen, allerdings wegen der Transaktionen, die
MyISAM nicht kann.

> Was muss ich bei einer sollen Migration beachten?

Insbesondere interessiert mich, ob eine Umstellung (mit phpMyAdmin) ohne
Datenverlust möglich ist!

Wer weiß dazu etwas?

Weiterhin würde ich bei meiner lokalen MySQL dann auch InnoDB verwenden
wollen/müssen, leider kennt die InnoDB nicht (laut phpMyAdmin).

Wie kann ich meiner MySQL InnoDB "beibringen"?

Lokal: MySQL 5.0.16-nt, phpMyAdmin 2.6.3-pl1
Live: MySQL 4.1.10a-standard-log, phpMyAdmin 2.6.0-pl3

MfG Thomas.

Re: Migration von MyISAM nach InnoDB

am 08.06.2006 12:26:13 von Axel Schwenke

"Borsdorf, Thomas" wrote:
> Stehmann schrieb am 23.05.2006 18:50:
>> ob als Tabellen-Typ InnoDB nicht besser geeignet sei, als MyISAM.
>
> Ich überlege auch umzustellen, allerdings wegen der Transaktionen, die
> MyISAM nicht kann.
>
>> Was muss ich bei einer sollen Migration beachten?
>
> Insbesondere interessiert mich, ob eine Umstellung (mit phpMyAdmin) ohne
> Datenverlust möglich ist!
>
> Wer weiß dazu etwas?

Das Handbuch? http://dev.mysql.com/doc/refman/5.0/en/storage-engines.html

Selbstverständlich geht das ohne Datenverlust. Allerdings wäre
phpMyAdmin so ziemlich das letzte Tool, das ich dafür empfehlen würde.

> Weiterhin würde ich bei meiner lokalen MySQL dann auch InnoDB verwenden
> wollen/müssen, leider kennt die InnoDB nicht (laut phpMyAdmin).
~~~~~~~~~~~~~~~


> Wie kann ich meiner MySQL InnoDB "beibringen"?

Indem du es anschaltest? MySQL für Windoze kommt mittlerweile mit dem
Installation Wizard. Da reicht es eigentlich, dessen Fragen zu lesen
und dann bei "Möchten Sie InnoDB" auf "Ja" zu klicken. In 5.0 ist
InnoDB eigentlich immer aktiviert, wenn das bei dir nicht so ist, mußt
du es explizit abgeschaltet haben.

> Lokal: MySQL 5.0.16-nt, phpMyAdmin 2.6.3-pl1
> Live: MySQL 4.1.10a-standard-log, phpMyAdmin 2.6.0-pl3

Ich würde dringend empfehlen, auf beiden Systemen wenigstens die
gleiche Major-Release, besser noch exakt die gleiche Version
einzusetzen. Sonst stehst du demnächst wieder hier auf der Matte mit
"Statement X funktioniert online nicht, lokal geht es aber".


XL

Re: Migration von MyISAM nach InnoDB

am 08.06.2006 12:30:16 von Frank Schenk

Borsdorf, Thomas wrote:
>
> Ich überlege auch umzustellen, allerdings wegen der Transaktionen, die
> MyISAM nicht kann.
>
> Insbesondere interessiert mich, ob eine Umstellung (mit phpMyAdmin) ohne
> Datenverlust möglich ist!
>
> Wer weiß dazu etwas?

phpMyAdmin ist ein würgaround für alle, die keinen direkten Zugriff auf
den Server haben. Es ist und bleibt ein würgaround, viele Hoster bieten
inzwischen VPN und dergl. an um vernünftig per MySQL Client an der DB
arbeiten zu können.

Um dem Server InnoDB beizubringen musst du entweder die entsprechenden
Binaries installieren oder MySql mit InnoDB Support kompilieren. Das
steht aber alles im >> Handbuch << das du unter http://dev.mysql.com/doc
findest.

> Lokal: MySQL 5.0.16-nt, phpMyAdmin 2.6.3-pl1
> Live: MySQL 4.1.10a-standard-log, phpMyAdmin 2.6.0-pl3

phpMyAdmin ist hier mehr oder minder off Topic da es nur eine
behelfsmässige Oberfläche zur Pflege der Datenbanken ist,
professionelles Werkzeug gibts beim Erfinder.


gruß, Frank