Bug #48787 | Built-In InnoDB plugin won't load or initialize | ||
---|---|---|---|
Submitted: | 16 Nov 2009 2:56 | Modified: | 20 Nov 2009 10:46 |
Reporter: | Fred Zirdung | Email Updates: | |
Status: | Not a Bug | Impact on me: | |
Category: | MySQL Server: InnoDB Plugin storage engine | Severity: | S3 (Non-critical) |
Version: | 5.1.40, 5.1.41 | OS: | MacOS (10.6.2) |
Assigned to: | CPU Architecture: | Any | |
Tags: | innodb, osx |
[16 Nov 2009 2:56]
Fred Zirdung
[18 Nov 2009 19:16]
Valeriy Kravchuk
Please, check if the same problem happens with MySQL 5.1.41.
[18 Nov 2009 19:53]
Fred Zirdung
5.1.41 doesn't fix the problem. Same results.
[20 Nov 2009 8:55]
Geert Vanderkelen
Can't repeat with * package mysql-advanced-gpl-5.1.39-osx10.5-x86_64 * on MacOS X 10.6.2: (Will try with 5.1.41/community in a few, it's still downloading) Breakdown: $ file bin/mysqld bin/mysqld: Mach-O 64-bit executable x86_64 Starting --ignore-builtin-innodb: [mysqld] ignore_builtin_innodb plugin-load=innodb=ha_innodb_plugin.so;innodb_trx=ha_innodb_plugin.so;innodb_locks=ha_innodb_plugin.so;innodb_cmp=ha_innodb_plugin.so;innodb_cmp_reset=ha_innodb_plugin.so;innodb_cmpmem=ha_innodb_plugin.so;innodb_cmpmem_reset=ha_innodb_plugin.so Doing it first without the option --plugin-load set in the option file, I can load it fine: mysql> SHOW ENGINES; +------------+---------+------------------------ | Engine | Support | Comment +------------+---------+------------------------- | MyISAM | DEFAULT | Default engine as of MyS | MRG_MYISAM | YES | Collection of identical | BLACKHOLE | YES | /dev/null storage engine | CSV | YES | CSV storage engine | MEMORY | YES | Hash based, stored in me | FEDERATED | NO | Federated MySQL storage | ARCHIVE | YES | Archive storage engine +------------+---------+------------------------- mysql> INSTALL PLUGIN INNODB SONAME 'ha_innodb_plugin.so'; Query OK, 0 rows affected (0.24 sec) mysql> SELECT ENGINE,SUPPORT FROM INFORMATION_SCHEMA.ENGINES; +------------+---------+ | ENGINE | SUPPORT | +------------+---------+ | MyISAM | DEFAULT | | InnoDB | YES | | BLACKHOLE | YES | | CSV | YES | | MEMORY | YES | | FEDERATED | NO | | ARCHIVE | YES | | MRG_MYISAM | YES | +------------+---------+ On restart with the --plugin-load option set in the option file, I get this: mysql> SELECT PLUGIN_NAME FROM INFORMATION_SCHEMA.PLUGINS WHERE PLUGIN_NAME LIKE 'InnoDB%'; +---------------------+ | PLUGIN_NAME | +---------------------+ | InnoDB | | INNODB_TRX | | INNODB_LOCKS | | INNODB_CMP | | INNODB_CMP_RESET | | INNODB_CMPMEM | | INNODB_CMPMEM_RESET | +---------------------+
[20 Nov 2009 10:33]
Fred Zirdung
I discovered the problem. The log file didn't match what was in the cnf file: 091120 02:23:42 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data 091120 2:23:42 [Warning] Setting lower_case_table_names=2 because file system for /usr/local/mysql/data/ is case insensitive 091120 2:23:42 [Note] Plugin 'FEDERATED' is disabled. InnoDB: Error: log file /usr/local/mysql/data/ib_logfile0 is of different size 0 5242880 bytes InnoDB: than specified in the .cnf file 0 67108864 bytes! 091120 2:23:43 [ERROR] Plugin 'InnoDB' init function returned error. 091120 2:23:43 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed. 091120 2:23:43 [Note] Event Scheduler: Loaded 0 events 091120 2:23:43 [Note] /usr/local/mysql/bin/mysqld: ready for connections. Version: '5.1.39' socket: '/tmp/mysql.sock' port: 3306 MySQL Community Server (GPL) 091120 2:24:47 [Note] /usr/local/mysql/bin/mysqld: Normal shutdown I forgot about one step that I performed during installation, which was not in my problem description. That step was to copy the data dir from a previous installation. By redoing the install from a clean tar.gz file I was not able to reproduce the failure. Sorry... The workaround I found is to delete the two log files and let InnoDB enter recovery mode, where it regens the logfiles. After that, everything works as expected.
[20 Nov 2009 10:46]
Valeriy Kravchuk
So, this problem was not a result of any bug in MySQL code. Workaround is described, to some extent, in http://dev.mysql.com/doc/refman/5.1/en/adding-and-removing.html.