1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Default storage engine when installing XenForo?

Discussion in 'Troubleshooting and Problems' started by fredrikse, Jul 13, 2012.

  1. fredrikse

    fredrikse Active Member

    Hi,

    For the last month I been trying to install the gread add-on Simple Forms with no success. The guys at LiquidPro helped me and finally got it solved. Now the add-on is installed the way it should be. It turns out that for the Simple Forms installation to work the xf_user table needs to be set to storage engine InnoDB since the their tables uses foreign keys. In my default installation fo XenForo the table was set to MyISAM.

    After running the following code the installation worked:

    Code:
    ALTER TABLE `xf_user` ENGINE = 'InnoDB';

    My question now is what is the default storage engine type when installing XenForo? I don't recall that I have been able to decide that myself.
     
  2. Jake Bunce

    Jake Bunce XenForo Moderator Staff Member

    The default is InnoDB for almost all tables. But if your installation of MySQL doesn't support InnoDB at the time of install then it will use MyISAM. You should switch to InnoDB.

    This file shows all table definitions as they should be:

    library/XenForo/Install/Data/MySql.php
     
  3. fredrikse

    fredrikse Active Member

    Jake, thanks for quick answer. But my installation of MySQL on the web server must support InnoDB since it's possible to alter the storage engine time afterwards. Don't you agree with me? What caused the installation to use MyISAM instead of InnoDB if the support is there?
     
  4. Luke F

    Luke F Well-Known Member

    There's no other possibility other than innodb not being installed or being disabled on the server as the tables are created with engine=innodb explicitly
     
  5. fredrikse

    fredrikse Active Member

    I looked at the local installation of XenForo that I have been working on on my laptop through the use of MAMP. There the tables are in the InnoDB format. That explains why Simple Forms worked there out of the box.

    I still don't get it how the tables can be altered and set to InnoDB after the main installation has finished. Wouldn't that be impossible if my webserver doesn't support this storage engine format?
     
  6. fredrikse

    fredrikse Active Member

    Well, this is what it looks like on the MySQL server:

    MySQL server.jpg

    It clearly states that the server has support for InnoDB. Why it's not used during the installation of xenForo is still a mystery for me. I'm trying to troubleshoot this with my web host.
     
  7. CyclingTribe

    CyclingTribe Well-Known Member

    Check you my.cnf file for skip-innodb - if it's there remove it and restart MySQL. (y)
     
  8. fredrikse

    fredrikse Active Member

    Thanks for the input :) Where do I find my.cnf? I don't have direct access to the server. Just remotely.
     
  9. fredrikse

    fredrikse Active Member

    In phpMyAdmin, when I clicked on MyISAM under storage engine, I saw this:

    myisam_default.jpg

    Does this mean even though there is support for InnoDB MyISAM will be used during installation of xenForo since it turns out this storage engine is default on the mysql server?
     
  10. CyclingTribe

    CyclingTribe Well-Known Member

    TBH it looks like your InnoDB engine is running - but to check, go to the home page of phpMyAdmin and click the link for "Storage Engines". Is InnoDB linked and can you click the link? If so it's configured and running.

    What about user privs for the MySQL user you are using when installing XF? Does this user have ALL privs?
     
  11. fredrikse

    fredrikse Active Member

    InnoDB is linked and when I click on it, it takes me to one of the screenshots above where it says it's functioning properly.

    My host is using a special web front when creating new database instances. No where I can set what kind of DB it should be.
     
  12. CyclingTribe

    CyclingTribe Well-Known Member

    I think you need to take this back to your host and have a chat with them. (y)

    Cheers,
    Shaun :D
     
  13. fredrikse

    fredrikse Active Member

    Exactly what I'm doing at the moment :)
     
    CyclingTribe likes this.
  14. fredrikse

    fredrikse Active Member

    I decided to do a complete reinstall of version 1.1.3. All of a sudden it seems like the storage engine issue is sorted out. How, I don't really know. But know it looks like it should in phpMyAdmin (y)

    innodb_works.jpg
     
    CyclingTribe likes this.
  15. CyclingTribe

    CyclingTribe Well-Known Member

    It's possible a recent change to the MySQL setup has made the difference, but glad it's sorted. Phew!! :D
     

Share This Page