4

I'm trying to install Magento Community Edition for my latest project on our server, however, the hosting platform we are currently using doesn't, and won't let us, install or utilise InnoDB.

Is anyone aware of any configuration/changes that can be done to make it work any other way?

Aaron Lee
  • 1,146
  • 3
  • 14
  • 29
  • 1
    The answer is simple on this one. Replace your hosting provider with one that understands hosting Magento. It will be far less frustrating in the long run as not supporting Innodb is only the pinnacle rock that takes your attention off the broad underwater shoal your e-commerce website will be crashing into as you find out all the other incompatibilities. Be willing to learn from others experiences on this one ;^) – Fiasco Labs May 21 '12 at 14:32

2 Answers2

6

Magento was developed and is supposed to be used in a transaction-safe environment.

You could try switching to some other database which is transaction-safe (like Oracle), but then you'd need to write PDO adapters and resource models for Oracle by yourself (they're not part of Magento). But if your provider doesn't even support InnoDB, I don't believe he will support Oracle or similiar^^

Another possibility would be to make Magento able to work with a non-transactional mySQL engine like MyISAM. You'd need to rewrite many processes, core models and controllers to change Magento from transactional to non-transactional behaviour.

Not only would this be tons of work, but I'm almost sure, you would get a lot of fun each time you try to upgrade your Magento version. I'd strongly encourage to never change the core this way.

The only mySQL engines supporting transactions are InnoDB and NDB. Magento only ships resource models for InnoDB. So, if you ask me, if your provider doesn't allow InnoDB for whatever reasons, I'd recommend to just move on to another provider that does.

Jürgen Thelen
  • 12,745
  • 7
  • 52
  • 71
  • 1
    Don't you mean *transaction-safe* ? – ilanco May 21 '12 at 10:14
  • 3
    From Magento 1.6.2, the core is beginning to support other kind of database, at the moment it is Oracle. Check the RDBM guide, http://www.magentocommerce.com/images/uploads/RDBMS_Guide2.pdf – Sylvain Rayé May 21 '12 at 10:35
  • 1
    @Diglin: +1. Basic database/resource abstraction layers making the usage of other databases generally possible are there since at least CE 1.3, though. Unfortunately Magento still doesn't ship specific PDO adapters or resource models for other databases than mySQL out of the box (even not in CE 1.7). Anyway, the link you're mentioning is definitely a good starting point for developers trying to implement own PDO adapters and resource models. – Jürgen Thelen May 21 '12 at 11:25
0

I was trying to install Magento 1.9 CE on my own development server. Eventually the Magento Downloader incorrectly stated that InnoDB is not the default database engine. This was the issue I had when installing Magento CE.

Yes, it is true that MariaDB, a binary compatible replacement for MySQL uses xtradb rather than innodb as its engine.

https://mariadb.com/kb/en/mariadb/xtradb-and-innodb/

However, I am tempted to conclude the problem lies in Magento: Magento install complains about missing InnoDB when it is available

Community
  • 1
  • 1
Coffee123
  • 156
  • 2
  • 9