LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (http://www.linuxquestions.org/questions/slackware-14/)
-   -   MySQL 5.5 Default Storage Engine (http://www.linuxquestions.org/questions/slackware-14/mysql-5-5-default-storage-engine-4175437286/)

tronayne 11-15-2012 10:32 AM

MySQL 5.5 Default Storage Engine
 
In MySQL 5.5, InnoDB is the default storage engine; previous editions were MyISAM by default.

I have a couple of FOSS LAMP applications that build lots of tables with no engine= directives yet they do full-text searches and
Quote:

If a table relies on some MyISAM-specific feature, you'll receive an error; add the ENGINE=MyISAM clause to the CREATE TABLE statement to avoid the error. (For example, tables that rely on full-text search must be MyISAM tables rather than InnoDB ones.)
(from the MySQL 5.5 Reference Manual, 14.3.1).

I've added
Code:

default-storage-engine=myisam
to the mysqld section of /etc/mysql/my.cnf (which is a copy of the my-huge.cnf file), stopped the MySQL daemon and started (no errors).

Another option is
Code:

skip-innodb
but I'm not real sure which is the better; the default-storage or skip-innodb -- if anybody has any thoughts I'd appreciate knowing them.

I'm going to drop all the data bases and recreate them (well, one anyway) to check with
Code:

SHOW VARIABLES LIKE 'have_innodb';
hoping for a NO but haven't gotten that far as yet.

Any advice on going backwards or if it's worth the effort (a lot of effort, methinks) to deal with InnoDB?

tronayne 11-15-2012 11:46 AM

OK, blew away data bases, reinstalled one application, loaded one not-so-large table set into the data base, thing flies instead of crawls; appears that the default-storage-engine=myisam does that trick (at least for that and I don't have to edit every create table statement in the application).

So, older LAMP applications that relied on MyISAM (the old default) may not work so hot if you just drop and recreate a database without incorporating the default-storage-engine syntax in /etc/mysql/my.cnf or, possibly, skip-innodb and altering all your create table statements (with the proviso that "tables that rely on full-text search must be MyISAM tables rather than InnoDB ones."

Anyway, life is better.


All times are GMT -5. The time now is 03:18 AM.