Community Forums
Connect with us on LinkedIn
Community Notice
+ Reply to Thread
Page 1 of 2 1 2 LastLast
Results 1 to 15 of 21
  1. #1
    Member kazar's Avatar
    Join Date
    May 2008
    Location
    NYC/Earth
    Posts
    14

    Default innoDB not enabled by default?

    Hi there --

    I'm quite new to all of this so sorry if this is a "dumb question" ...

    I am not doing great at moving my old phpbb database to my new server, and I"m thinking of trying to use InnoDB storage engine rather than MyISAM which is the default on my new WHM/Cpanel server. In phpMyAdmin I notice that innoDB is not even enabled on my server (and I'm pretty surprised that it is not).

    How do I enable innoDB? I don't see any way in WHM or in phpMyAdmin (but it's probably staring me in the face). And how would i make innoDB the default storage engine?

    TIA!

    kazar

  2. #2
    cPanel Development cpanelkenneth's Avatar
    Join Date
    Apr 2006
    Posts
    3,768
    cPanel/Enkompass Access Level

    Root Administrator

    Default

    Quote Originally Posted by kazar View Post
    Hi there --

    I'm quite new to all of this so sorry if this is a "dumb question" ...

    I am not doing great at moving my old phpbb database to my new server, and I"m thinking of trying to use InnoDB storage engine rather than MyISAM which is the default on my new WHM/Cpanel server. In phpMyAdmin I notice that innoDB is not even enabled on my server (and I'm pretty surprised that it is not).

    How do I enable innoDB? I don't see any way in WHM or in phpMyAdmin (but it's probably staring me in the face). And how would i make innoDB the default storage engine?

    TIA!

    kazar
    You can enable InnoDB by accessing your server via SSH as root ( or another account then use su or sudo to gain root access). Once that is done, check /etc/my.cnd for an entry like:

    Code:
    skip-inndob
    If such an entry exists, remove or comment out the entry and restart MySQL.

    If such an entry does not exist, then there are other problems for which we will need more information.


    Once InnoDB is enabled, you can make it the default table type by specifying the following in /etc/my.cnf:

    Code:
    default-table-type=innodb
    InnoDB out performs MyISAM, once properly configured, but comes with a slightly higher cost of administrator overhead.

  3. #3
    Member kazar's Avatar
    Join Date
    May 2008
    Location
    NYC/Earth
    Posts
    14

    Default

    Thank you so much for the crystal clear instructions. After I edited the my.cnf file mysql would not stop from the command line using mysqld_safe stop (it told me "A mysqld process already exists") but it did restart from WHM.

    I'm back in biz!! Thanks again.

    kazar

  4. #4
    Member
    Join Date
    Apr 2009
    Posts
    13

    Thumbs up

    Quote Originally Posted by cpanelkenneth View Post
    You can enable InnoDB by accessing your server via SSH as root ( or another account then use su or sudo to gain root access). Once that is done, check /etc/my.cnd for an entry like:

    Code:
    skip-inndob
    If such an entry exists, remove or comment out the entry and restart MySQL.

    If such an entry does not exist, then there are other problems for which we will need more information.


    Once InnoDB is enabled, you can make it the default table type by specifying the following in /etc/my.cnf:

    Code:
    default-table-type=innodb
    InnoDB out performs MyISAM, once properly configured, but comes with a slightly higher cost of administrator overhead.
    This was very helpful.

  5. #5
    Member
    Join Date
    Dec 2001
    Location
    Long Beach, NY
    Posts
    194

    Default

    Hi there -

    I came across this thread because I have a hosting client seeking to host Magento, which lists InnoDB storage engine as a requirement.

    My servers currently host existing clients using MyISAM.

    Is there any impact on existing users/databases/scripts if I enable InnoDB as well?

    It was mentioned that there is a higher cost of Admin overhead - can anybody clarify?

    Thanks.

    Mike
    Get your hosting business listed on www.HostPremiums.com.
    Visit www.decomodo.com for cool stuff you can't live without.

  6. #6
    cPanel Staff cPanelTristan's Avatar
    Join Date
    Oct 2010
    Location
    de profundis
    Posts
    5,409
    cPanel/Enkompass Access Level

    Root Administrator

    Default

    I wouldn't suggest making InnoDB the default on a machine for one user requiring it to be enabled. If it is disabled in the /etc/my.cnf with that "skip-innodb" line, simply commenting out or removing that line, then restarting MySQL will enable InnoDB to allow the user to utilize it.

    As for a higher cost associated with InnoDB, if InnoDB tables corrupt, then MySQL itself will refuse to start. InnoDB corruption can be very difficult to resolve. If you are going to enable InnoDB where it isn't already, I highly suggest moving to a per-table space (file per table) for InnoDB tables, since the default for InnoDB tables is to be stored at /var/lib/mysql/ibdata1 file as a shared file, so all user tables are stored in that one file in that default setup.

    I have a guide on how to switch to using innodb_file_per_table instead so that you can avoid one user's table corrupting causing all of MySQL to refuse to start:

    innodb_file_per_table - Converting to Per Table Data for InnoDB - cPanel Forums
    cPResources: Support Options | More Support Options | Forums Search | cPanel.net Site Search | Mailing Lists(Alt) | Docs
    -- Tristan, Forums Technical Analyst, cPanel Tech Support

    Submit a ticket | Check an existing ticket

  7. #7
    Member
    Join Date
    Dec 2001
    Location
    Long Beach, NY
    Posts
    194

    Default

    Thanks for these details.

    So, if I understand correctly, this would allow me to enable InnoDB on the server, but then only this individual user would be utilizing InnoDB - and if there was any database corruption, it would only impact the individual user.

    Is this correct? In other words, does this only mitigate the risk, or completely eliminate the risk of other users being impacted?

    Also, will the code itself call for using InnoDB tables, or does something additional need to be done if it is not the server default?

    Also, in the Magento forum, I saw people discussing running Magento with MyISAM tables - in fact, many were arguing the performance benefits. I suppose this is a better question for that forum - but, does SQL care which format is used? Or, does the code care? In other words, is the database format entirely transparent to the script itself? In the end it is just reading and writing data to tables, so I'm not clear on the importance of satisfying this particular prerequisite.

    Thanks.

    mrk
    Get your hosting business listed on www.HostPremiums.com.
    Visit www.decomodo.com for cool stuff you can't live without.

  8. #8
    cPanel Staff cPanelTristan's Avatar
    Join Date
    Oct 2010
    Location
    de profundis
    Posts
    5,409
    cPanel/Enkompass Access Level

    Root Administrator

    Default

    Using the innodb_file_per_table setting will mitigate the likelihood of InnoDB corruption impacting any other users. If one user's table corrupts, it will impact that individual user's database. If InnoDB has other corruption such as log corruption, it could still cause MySQL to go down, so you aren't entirely getting rid of the risk of using InnoDB. Thankfully, log corruption can be resolved by moving the logs for them to recreate, and it should be a far lower risk overall.

    As for needing to do anything else to enable it, you only have to ensure it's not skipped, then if you do want to use innodb_file_per_table, follow the instructions at the guide I made. You shouldn't need to do anything else to make it available. I would not suggest making it default at all.

    I don't know about the benefits of using MyISAM over InnoDB for Magento. I've never used that application. There are performance benefits for certain types of tables for InnoDB and, obviously, MySQL must see InnoDB itself as a benefit or MySQL 5.5 wouldn't be making it the default table engine type.
    cPResources: Support Options | More Support Options | Forums Search | cPanel.net Site Search | Mailing Lists(Alt) | Docs
    -- Tristan, Forums Technical Analyst, cPanel Tech Support

    Submit a ticket | Check an existing ticket

  9. #9
    Member
    Join Date
    Dec 2001
    Location
    Long Beach, NY
    Posts
    194

    Default

    Thanks for all of the extremely helpful details.

    I am not at all interested in making this the default and not sure if it is disabled or not on my servers as of right now but will check that out.

    I'll check with Magneto to see if MyISAM can be supported.

    Was not aware MySQL 5.5 was seeking to go in a new direction with the default.

    Again, thanks for all of the extremely helpful and very timely information.

    You guys are the very best.

    Mike
    Get your hosting business listed on www.HostPremiums.com.
    Visit www.decomodo.com for cool stuff you can't live without.

  10. #10
    Member
    Join Date
    Jan 2010
    Location
    Orlando, FL
    Posts
    42
    cPanel/Enkompass Access Level

    Root Administrator

    Default Re: innoDB not enabled by default?

    Wow. . .this post was extremely helpful!

    I have to say the benefits of using InnoDB as opposed to MyISAM seem substantial.

    To me it makes sense to move to it, since my client who is using it, needs faster load times on READS not necessarily the writes which occur far less frequently.

    I'll keep you all posted and let you know how it turns out, as I'm converting him (he uses Magento), and another client who also gets a substantial amount of traffic (using WordPress) -- hopefully the performance benefits will outweigh the "costs" (I use that term loosely. . .)

    Oh! I should also mention that converting the tables was easy using MySQLFront (Windows front-end for MySQL databases). . .

    - Eric Gillette
    Last edited by egillette; 02-01-2011 at 09:36 PM. Reason: Forgot something!
    Follow me on Twitter!

    - Eric Gillette

  11. #11
    cPanel Development cpanelkenneth's Avatar
    Join Date
    Apr 2006
    Posts
    3,768
    cPanel/Enkompass Access Level

    Root Administrator

    Default Re: innoDB not enabled by default?

    Also, in the Magento forum, I saw people discussing running Magento with MyISAM tables - in fact, many were arguing the performance benefits. I suppose this is a better question for that forum - but, does SQL care which format is used? Or, does the code care? In other words, is the database format entirely transparent to the script itself? In the end it is just reading and writing data to tables, so I'm not clear on the importance of satisfying this particular prerequisite.
    If the application requires features such as foreign key constraints or ACID compliance then the table type is very important. The MyISAM table type will allow the tables to be created with the features but the features will be ignored.
    Kenneth
    Product Development
    cPanel, Inc.

  12. #12
    Registered User
    Join Date
    Mar 2011
    Posts
    2

    Default Re: innoDB not enabled by default?

    I've done this set up... even added

    default-storage-engine=innodb
    default-table-type=innodb

    into the my.cnf file then restarted mysql by using:

    /etc/init.d/mysql start

    But, when i go into phpmyadmin, the innoDB option is nowhere to be found in storage types under operations for each specific table type. Not really sure where to go next, can somebody help me please?

  13. #13
    Member
    Join Date
    Jan 2010
    Location
    Orlando, FL
    Posts
    42
    cPanel/Enkompass Access Level

    Root Administrator

    Default Re: innoDB not enabled by default?

    Hey, I believe it's an option in PHPMyAdmin you have to turn it on PHPMyAdmin's config.

    Can you convert any of your existing tables from MyISAM to InnoDB format using the query:

    ALTER TABLE 'table_name' ENGINE=InnoDB;

    Try that and if it converts the table to InnoDB then your MySQL install supports it, and we can narrow it down to being an option within PHPMyAdmin that needs to be turned on. . .

    Let me know.
    Follow me on Twitter!

    - Eric Gillette

  14. #14
    Registered User
    Join Date
    Mar 2011
    Posts
    2

    Default Re: innoDB not enabled by default?

    Yea I had already tried that, turned out the my.cnf had a lot of white space, and I needed to scroll down, there were some other options related to innoDB that I had needed to uncomment. After uncommenting some more innoDB stuff (can't tell you what because I kind of trialed and errored it), it worked : ).

    Thanks for the reply though : ).

  15. #15
    Registered User
    Join Date
    Sep 2011
    Posts
    2
    cPanel/Enkompass Access Level

    Root Administrator

    Default Re: innoDB not enabled by default?

    i am facing the same problem, how i will enable the InnDB from Phpmyadmin , i have checked the my.cnd file but it does not exist. then i checked the my.cnf file but it does not allow me to open it , it shows permission denied.

    kindly show me the way how it will check that InnDB support is enabled on server or not.

Similar Threads & Tags
Similar threads

  1. InnoDB: Have you moved InnoDB .ibd files - Error
    By sunyl in forum cPanel and WHM Discussions
    Replies: 4
    Last Post: 05-06-2011, 02:28 PM
  2. Replies: 4
    Last Post: 10-10-2010, 03:55 PM
  3. Replies: 4
    Last Post: 10-10-2010, 03:55 PM
  4. MIME/HTML enabled in Neomail/Horde/Squirrelmail by default?
    By Shiekron2 in forum cPanel and WHM Discussions
    Replies: 1
    Last Post: 08-18-2003, 08:07 AM
  5. subdomains enabled by default
    By rich2 in forum cPanel and WHM Discussions
    Replies: 1
    Last Post: 10-15-2002, 12:54 AM
Tags for this Thread
Linkedin       Facebook       Twitter       RSS       Flickr       YouTube