2012-08-28 8 views
9

Meine Website läuft auf einem VDS-Server. Ich habe gerade herausgefunden, dass mein MySQL-Server die InnoDB-Engine nicht unterstützt, daher kann ich in meiner Anwendung keine Datenbanktransaktionen verwenden.Leben ohne Transaktionen (MyISAM)

Es lässt mich denken, dass einige Leute möglicherweise nie Transaktionen verwenden. Ist das der Fall? Wenn ja, wie kann man in MyISAM verwandte Operationen an verschiedenen Tabellen koordinieren?

Gibt es sonst eine Möglichkeit, InnoDB auf einem MySQL-Server zu installieren, der auf einem VDS ausgeführt wird?

Danke!

+0

Wer ist Ihr Hosting-Provider, mit dem Ihr VDS zusammenarbeitet? – theon

+0

VDS64.com - diese Leute sind großartig. – Webmezha

Antwort

11

Wenn Sie Transaktionen benötigen, dann brauchen Sie Transaktionen und MyISAM wird nicht den Senf schneiden.

Einige Anwendungen benötigen keine Transaktionen. Beispielsweise; eine Anwendung, die nie mehr als eine verwandte SQL-Anweisung gleichzeitig ausführt und keine Notwendigkeit hat, mehrere SQL-Anweisungen zurückzusetzen. Ein anderes Beispiel ist eine Anwendung, die MySQL als einfachen Schlüsselwertspeicher verwendet. Es gibt viele Anwendungsfälle, die keine Transaktionsunterstützung auf Datenbankebene erfordern.

Es ist schwierig, den zweiten Teil Ihrer Frage zu beantworten, ohne weitere Details über Ihren VDS zu kennen. Wen hosten Sie als Provider? Verfügen Sie über Shellzugriff und Berechtigungen zum Ändern von my.cnf? Wenn nicht, können Sie InnoDB wahrscheinlich nicht aktivieren. Wenn Sie dies tun, finden Sie hier eine weitere SO-Antwort, die Details zur Aktivierung von InnoDB auf MySQL enthält: How to enable INNODB in mysql

+0

Danke! Ich habe gerade "skip-innodb" in "innodb = ON" in ** my.cnf ** geändert, meine Tabellen konvertiert, und jetzt funktioniert alles gut! – Webmezha

4

Sie können entweder die Engine aktivieren, die InnoDB-Komponenten manuell installieren oder einfach eine Version von MySQL neu installieren Diese Engine standardmäßig. MyISAM ist die crazypants-Datenbank, blödsinnig schnell aber auch unzuverlässig und anfällig für vollständige Zerstörung, wenn Ihr System nicht ordnungsgemäß heruntergefahren wird.

Das Ausführen einer unternehmenskritischen Anwendung auf MyISAM ist eine extrem schlechte Idee. Wo Sie MyISAM-Tabellen aus Performance-Gründen benötigen, sollten sie immer wegwerfbar sein und einfach von einer anderen, zuverlässigeren Datenquelle wieder aufgebaut werden können.