some InnoDB settings in My.cnf are messing up everything, why?
The next time you start mysql successfully, please run these

SHOW VARIABLES LIKE 'innodb_log_file_size';


This will show you the size of the InnoDB Log Files. The names of those files are (by default)


/var/lib/mysql/ib_logfile0
/var/lib/mysql/ib_logfile1


In order to change the size of the InnoDB Log Files, you must


Add innodb_log_file_size = 15M to my.cnf
service mysql stop
rm -f /var/lib/mysql/ib_logfile*
service mysql start (InnoDB Log Files Get Recreated)


I wrote about this before : How to safely change MySQL innodb variable &#39;innodb_log_file_size&#39;?

This will recreate the InnoDB Log Files.

With regard to


  I should note that Horde_groupware database have innoDB tables, when everything is messed up and I SELECT * FROM Horde_groupware.tblname I get the error says bad information in .frm file.


If Horde_groupware.tblname is an InnoDB table and you get this error, run this:

SHOW ENGINES;


You should see all the supported storage engines for the mysql instance. With the erro you are see on that table, there is one of three possiblilities:


InnoDB is not listed as one of the storage engines
InnoDB is marked as DISABLED
The table itself is corrupt