Bug #16691 default-storage-engine=innodb gets Unknown/unsupported table type: innodb
Submitted: 20 Jan 2006 23:43 Modified: 8 May 2006 18:23
Reporter: Jonathan Miller Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: General Severity:S2 (Serious)
Version:5.1.6-alpha OS:Linux (Linux)
Assigned to: Antony Curtis CPU Architecture:Any

[20 Jan 2006 23:43] Jonathan Miller
Description:
Trying to run mysql-tests with a default storage engine set to innodb fail to start. Inside MySQLD error log is the following:

Unknown/unsupported table type: innodb

How to repeat:
 ./mysql-test-run --do-test=rpl --mysqld=--default-storage-engine=innodb

Suggested fix:
Should we not support this?
[21 Jan 2006 6:44] Valeriy Kravchuk
Thank you for a problem report. Please, send the results of SHOW ENGINES statement from your server. 5.1.x is known as not including InnoDB support by default (unlike 5.0.x), so your configure command line (or build script used) may explain this result.
[21 Jan 2006 7:59] Jonas Oreland
Have your tried "=innobase" ?
[21 Jan 2006 15:16] Jonathan Miller
Build script used was compile-pentuim-max

mysql> show engines;
+------------+---------+-----------------------------------------------------------+--------------+----+------------+
| Engine     | Support | Comment                                                   | Transactions | XA | Savepoints |
+------------+---------+-----------------------------------------------------------+--------------+----+------------+
| ndbcluster | YES     | Clustered, fault-tolerant, memory-based tables            | YES          | NO | NO         |
| MEMORY     | YES     | Hash based, stored in memory, useful for temporary tables | NO           | NO | NO         |
| MyISAM     | DEFAULT | Default engine as of MySQL 3.23 with great performance    | NO           | NO | NO         |
| MRG_MYISAM | YES     | Collection of identical MyISAM tables                     | NO           | NO | NO         |
+------------+---------+-----------------------------------------------------------+--------------+----+------------+

Innodb should be included in max build
[23 Jan 2006 11:59] MySQL Verification Team
Hi,

I compiled the server with compile-pentium-debug-max. However running the
test you can see below that --skip-innodb is used for to run the server and
the test fails:

miguel@hegel:~/dbs/mysql-5.1-new/mysql-test> ./mysql-test-run --do-test=rpl --mysqld=--default-storage-engine=innodb
Stopping master cluster
Installing Test Databases
Removing Stale Files
Installing Master Databases
running  ../sql/mysqld --no-defaults --bootstrap --skip-grant-tables     --basedir=. --datadir=./var/master-data --skip-innodb --skip-ndbcluster --skip-bdb     --language=../sql/share/english/ --character-sets-dir=../sql/share/charsets/
Installing Master Databases 1
running  ../sql/mysqld --no-defaults --bootstrap --skip-grant-tables     --basedir=. --datadir=./var/master-data1 --skip-innodb --skip-ndbcluster --skip-bdb     --language=../sql/share/english/ --character-sets-dir=../sql/share/charsets/

TEST                            RESULT
-------------------------------------------------------
ERROR: /home/miguel/dbs/mysql-5.1-new/mysql-test/var/run/master.pid was not created in 400 seconds;  Aborting

Removing the default-storage-engine=innodb it works:

miguel@hegel:~/dbs/mysql-5.1-new/mysql-test> ./mysql-test-run --do-test=rpl
Stopping master cluster

<cut>

TEST                            RESULT
-------------------------------------------------------
rpl000002                      [ pass ]   
rpl000004                      [ pass ]   

<cut>

So looks like these tests are only done with MyISAM engine so looks like
a feature request for innodb to be used on these tests?
[23 Jan 2006 12:14] Jonathan Miller
Did you do a show engines? Did you check the master.err in var/logs/?

Is the innodb engine being compiled in max? 

is --default-storage-engine=innodb supported for max build?
[23 Jan 2006 12:21] MySQL Verification Team
Below show engine:

miguel@hegel:~/dbs/5.1> bin/mysql -uroot -e"show engines"
+------------+----------+ cut
| Engine     | Support  | cut
+------------+----------+-cut
| ndbcluster | DISABLED | cut
| MEMORY     | YES      | cut
| MRG_MYISAM | YES      | cut
| InnoDB     | YES      | cut
| BLACKHOLE  | YES      | cut

<cut>

How I said you that test fails because the server is ran with --skip-innodb.
[23 Jan 2006 12:35] Jonathan Miller
+------------+----------+ cut
| Engine     | Support  | cut
+------------+----------+-cut
| ndbcluster | DISABLED | cut
| MEMORY     | YES      | cut
| MRG_MYISAM | YES      | cut
| InnoDB     | YES      | cut
| BLACKHOLE  | YES      | cut

Glad to see Innodb, but ndbcluster should be supported off of max, is this a max build?
[23 Jan 2006 12:36] Jonathan Miller
In additions, would still like to know what var/logs/master.err shows.
[23 Jan 2006 12:52] Jonathan Miller
FYI:

IRC
jonas	jeb: hm. good point. Anyway I had the problem that mysqld didnt accept --default-storage-engine=innodb but -default-storage-engine=innobase worked...but that was maybe a week ago
[23 Jan 2006 13:20] MySQL Verification Team
Using innodb

miguel@hegel:~/dbs/mysql-5.1-new/mysql-test> cat var/log/master.err 
CURRENT_TEST: rpl000002
Unknown/unsupported table type: innodb
miguel@hegel:~/dbs/mysql-5.1-new/mysql-test> 

using innobas

TEST                            RESULT
-------------------------------------------------------
ERROR: /home/miguel/dbs/mysql-5.1-new/mysql-test/var/run/slave.pid was not created in 400 seconds;  Aborting
miguel@hegel:~/dbs/mysql-5.1-new/mysql-test> cat var/log/master.err 
CURRENT_TEST: rpl000002
InnoDB: The first specified data file ./ibdata1 did not exist:
InnoDB: a new database to be created!
030423 18:13:30  InnoDB: Setting file ./ibdata1 size to 128 MB
InnoDB: Database physically writes the file full: wait...
InnoDB: Progress in MB: 100
030423 18:13:34  InnoDB: Log file ./ib_logfile0 did not exist: new to be created
InnoDB: Setting log file ./ib_logfile0 size to 5 MB
InnoDB: Database physically writes the file full: wait...
030423 18:13:34  InnoDB: Log file ./ib_logfile1 did not exist: new to be created
InnoDB: Setting log file ./ib_logfile1 size to 5 MB
InnoDB: Database physically writes the file full: wait...
InnoDB: Doublewrite buffer not found: creating new
InnoDB: Doublewrite buffer created
InnoDB: Creating foreign key constraint system tables
InnoDB: Foreign key constraint system tables created
030423 18:13:35  InnoDB: Started; log sequence number 0 0
030423 18:13:35 [Note] /home/miguel/dbs/mysql-5.1-new/sql/mysqld: ready for connections.
Version: '5.1.6-alpha-debug-log'  socket: '/home/miguel/dbs/mysql-5.1-new/mysql-test/var/tmp/master.sock'  port: 9306  Source distribution
[4 May 2006 16:06] Paul DuBois
It's not clear from this report what bug was fixed.  That
--default-storage-engine=innodb did not work at all?  Or
that some unexpected result occurred when combined with
--skip-innodb.  If the latter, what's the expected result?
[4 May 2006 16:12] Paul DuBois
Sorry, closed the report prematurely. Setting to
Need Doc Info.
[8 May 2006 18:23] Paul DuBois
Noted in 5.1.10 changelog.

Use of <option>--default-storage-engine=innodb</option>
resulted in an error with the server reporting that
<literal>InnoDB</literal> was an unknown table type. (Bug
#16691)
[22 Aug 2008 17:21] Omar Restom
I think I found a solution. In this case the problem was that the temporal dir was not seted. So after a lot intents just added the tmpdir=C:/temp sentence at my.ini file and it work OK.

Good luck

http://dev.mysql.com/doc/refman/5.0/en/cannot-create.html