Take the 2-minute tour ×
Database Administrators Stack Exchange is a question and answer site for database professionals who wish to improve their database skills and learn from others in the community. It's 100% free, no registration required.

I have no idea of what I have done here, but my InnoDB engine seems to have gone from my MySQL server. I recently upgraded it from the dotdeb repository, then installed mysql-server.

There is no mention of InnoDB in my my.cnf except some comments which explain InnoDB is enabled by default, which I don't understand. There is also no mention of InnoDB in SHOW ENGINES.

Is there something I'm missing here?

If it matters, my MySQL server version is: 5.5.24-1~dotdeb.1 (Debian).

EDIT: SHOW ENGINES:

mysql> SHOW ENGINES;
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| Engine             | Support | Comment                                                        | Transactions | XA   | Savepoints |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| MRG_MYISAM         | YES     | Collection of identical MyISAM tables                          | NO           | NO   | NO         |
| PERFORMANCE_SCHEMA | YES     | Performance Schema                                             | NO           | NO   | NO         |
| FEDERATED          | NO      | Federated MySQL storage engine                                 | NULL         | NULL | NULL       |
| BLACKHOLE          | YES     | /dev/null storage engine (anything you write to it disappears) | NO           | NO   | NO         |
| MyISAM             | DEFAULT | MyISAM storage engine                                          | NO           | NO   | NO         |
| CSV                | YES     | CSV storage engine                                             | NO           | NO   | NO         |
| ARCHIVE            | YES     | Archive storage engine                                         | NO           | NO   | NO         |
| MEMORY             | YES     | Hash based, stored in memory, useful for temporary tables      | NO           | NO   | NO         |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
8 rows in set (0.00 sec)

Data dir contents:

root@slone:/var/lib/mysql# ls
debian-5.1.flag  ib_logfile0.bk  ibdata1  mysql_upgrade_info  test
debian-5.5.flag  ib_logfile1.bk  mysql    performance_schema  tstore
share|improve this question
    
Please run SHOW VARIABLES LIKE 'innodb%'; and paste that. If that produces nothing, please paste all InnoDB-related settings from my.cnf in the question body. –  RolandoMySQLDBA May 15 '12 at 19:26
    
The query does not return anything. And I mentioned there is no InnoDB-related variables in the config, only a few explanation comment lines explaining InnoDB is enabled by default. –  Markum May 15 '12 at 19:32
    
Since nothing came up, then InnoDB is not registered. Is this an RPM install of mysql-server or a source compiled version ??? –  RolandoMySQLDBA May 15 '12 at 19:38
    
It is precompiled, installed through apt-get install mysql-server. –  Markum May 15 '12 at 19:40
    
if you installed with the apt-get, I would recommend you to download directly from the Mysql website is the best way to get an official version. So if you don't have problem with deleting and reinstalling, I think this could be a good option. –  jcho360 May 15 '12 at 20:35
add comment

2 Answers

up vote 2 down vote accepted

Since you have done the following:

  • SHOW VARIABLES LIKE 'innodb%';
  • No InnoDB-related variables exist in my.cnf

and nothing comes up, please place this in my.cnf

[mysqld]
innodb

and start mysql and see if it comes up

UPDATE 2012-05-15 15:59 EDT

Since it fails to start up, you may need uninstall MySQL 5.5.24 and go back to MySQL 5.5.23 or whichever version you were last running with.

UPDATE 2012-05-15 16:06 EDT

Please run tail -30 on the mysql error log and paste that in the question.f it is not configured, go to the data folder and do ls -l *.err to find it.

UPDATE 2012-05-15 17:54 EDT

Based on the display you pasted in, you evidently had MySQL 5.1 running before. It just so happens that MySQL 5.1 has a table called mysql.plugin. It may have been populated before. It probably had something concerning the InnoDB plugin. MySQL 5.1.38 introduced the InnoDB plugin which has new features that are now native to MySQL 5.5's InnoDB. In other words, MySQL 5.5 does not need any plugin to run the new InnoDB.

Please run this query:

SELECT COUNT(1) FROM mysql.plugin;

If you get 1, that's probably the MySQL 5.1 InnoDB Plugin interfering. Try moving it over like this:

CREATE TABLE mysql.plugin_new LIKE mysql.plugin;
ALTER TABLE mysql.plugin RENAME mysql.plugin_old;
ALTER TABLE mysql.plugin_new RENAME mysql.plugin;

Afterwards, please restart mysql and see if InnoDB comes back

share|improve this answer
    
It fails to start up. –  Markum May 15 '12 at 19:52
    
Log folder is empty, assuming it is /var/log/mysql –  Markum May 15 '12 at 20:30
    
What is the output of SHOW VARIABLES LIKE 'datadir'; ? –  RolandoMySQLDBA May 15 '12 at 20:31
    
/var/lib/mysql/ –  Markum May 15 '12 at 20:37
    
Do ls -l *.err to find the error log. It should be something like hostname.err. –  RolandoMySQLDBA May 15 '12 at 20:38
show 2 more comments

mysqld.err will say what is wrong.

Usually it is an unexpected change in innodb_log_file_size. Did you change my.cnf?

If that is it, set it back to the size of the iblog files on disk, and it should start up.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.