2012-08-28 39 views
9

Mi sitio se ejecuta en un servidor VDS. Acabo de descubrir que mi servidor MySQL no es compatible con el motor InnoDB, por lo tanto, no puedo usar las transacciones de la base de datos en mi aplicación.Vida sin transacciones (MyISAM)

Me hace pensar que algunas personas nunca pueden usar transacciones. ¿Es este el caso? De ser así, ¿cómo se logra coordinar las operaciones relacionadas en diferentes tablas en MyISAM?

De lo contrario, ¿hay alguna manera de instalar InnoDB en un servidor MySQL que se ejecuta en un VDS?

Gracias!

+0

¿Quién es su proveedor de hosting con el que está su VDS? – theon

+0

VDS64.com - estos chicos son geniales. – Webmezha

Respuesta

11

Si necesita transacciones, entonces necesita transacciones y MyISAM no va a cortar la mostaza.

Algunas aplicaciones no necesitarán transacciones. Por ejemplo; una aplicación que nunca ejecuta más de una declaración de SQL relacionada a la vez y no necesita volver atrás varias sentencias de SQL. Otro ejemplo es una aplicación que utiliza MySQL como una simple Tienda de valores-clave. Hay muchos casos de uso que no requieren soporte de transacciones a nivel de base de datos.

Es difícil responder la segunda parte de su pregunta sin conocer más detalles sobre su VDS. ¿Quién es tu proveedor de hosting? ¿Tiene acceso al shell y permisos para cambiar my.cnf? Si no, entonces probablemente no podrá habilitar InnoDB. Si lo hace, aquí hay otra respuesta SO que detalla cómo habilitar InnoDB en MySQL: How to enable INNODB in mysql

+0

Gracias! Acabo de cambiar 'skip-innodb' en' innodb = ON' en ** my.cnf **, convertí mis tablas, ¡y ahora todo funciona bien! – Webmezha

4

A menudo puede habilitar el motor, instalar los componentes InnoDB manualmente, o simplemente reinstalar una versión de MySQL que incluye ese motor por defecto. MyISAM es la base de datos de crazypants, estúpidamente rápida pero poco fiable y propensa a la destrucción completa si tu sistema no se cierra correctamente.

Ejecutar una aplicación de misión crítica en MyISAM es una muy mala idea. Donde necesite tablas MyISAM por razones de rendimiento, siempre deben ser desechables, fácilmente reconstruibles a partir de otra fuente de datos más confiable.