InnoDB crashes after 4.1.8 -> 4.1.9 upgrade
am 17.01.2005 06:37:31 von ivskiHello,
I have a couple of InnoDB databases that use innodb_file_per_table. The server worked just fine
until I upgraded from v4.1.8 to v4.1.9. The server started, but the first attempt to access a table
resulted in MySQL crash. The log follows
----
050117 3:07:34 InnoDB: Started; log sequence number 4 2606034084
C:\MySQL\bin\mysqld-nt: ready for connections.
Version: '4.1.9-nt-log' socket: '' port: 3306 Source distribution
050117 3:07:59 InnoDB: Operating system error number 87 in a file operation.
InnoDB: Some operating system error numbers are described at
InnoDB: http://dev.mysql.com/doc/mysql/en/Operating_System_error_cod es.html
InnoDB: File operation call: 'read'.
InnoDB: Cannot continue operation.
----
After the crash MySQL refused (and kept refusing) to start with the following error:
----
050117 6:31:34 InnoDB: Database was not shut down normally!
InnoDB: Starting crash recovery.
InnoDB: Reading tablespace information from the .ibd files...
InnoDB: Restoring possible half-written data pages from the doublewrite
InnoDB: buffer...
050117 6:31:37 InnoDB: Operating system error number 87 in a file operation.
InnoDB: Some operating system error numbers are described at
InnoDB: http://dev.mysql.com/doc/mysql/en/Operating_System_error_cod es.html
InnoDB: File operation call: 'read'.
InnoDB: Cannot continue operation.
----
I was able to start MySQL by setting innodb_force_recovery to 6 (it wouldn't start with a lower
number), but *any* operation involving databases/tables (even drop database) made it crash with the
following messages in the log file:
----
C:\MySQL\bin\mysqld-nt: ready for connections.
Version: '4.1.9-nt-log' socket: '' port: 3306 Source distribution
050117 6:53:34 InnoDB: error: space object of table forex/accounts,
InnoDB: space id 1662 did not exist in memory. Retrying an open.
050117 6:53:34 InnoDB: error: space object of table forex/balance,
InnoDB: space id 1663 did not exist in memory. Retrying an open.
050117 6:53:34 InnoDB: error: space object of table forex/orders,
InnoDB: space id 1664 did not exist in memory. Retrying an open.
050117 6:53:34 InnoDB: Operating system error number 87 in a file operation.
InnoDB: Some operating system error numbers are described at
InnoDB: http://dev.mysql.com/doc/mysql/en/Operating_System_error_cod es.html
InnoDB: File operation call: 'read'.
InnoDB: Cannot continue operation.
----
I completely deleted the InnoDB tablespace and restored it from a backup. Started MySQL (without
force recovery) with the same result: the first time it started normally, the first query accessing
the database made it crash, it wouldn't start after the crash.
I rolled back to v4.1.8 and it works just fine, even without rebuilding the tablespace; that is, the
same tablespace that makes v4.1.9 crash is fine for v4.1.8.
I'm running Windows XP SP2 English on a 3.2GHz P4 with 1Gb of RAM. The biggest InnoDB database takes
~3Gb of disk space and consists of ~140 tables.
I noticed that v4.1.9 contants some important InnoDB fixes so any help on resolving this issue is
appreciated.
my.cnf content follows:
[client]
port=3306
[mysqld]
log_slow_queries=slowqueries.log
log_warnings=1
long_query_time=8
log_error=mysql.err
lower_case_table_names=1
port=3306
basedir=C:\MySQL\
datadir=D:\_MySQL\Data
default-character-set=utf8
default-storage-engine=InnoDB
max_connections=50
query_cache_size=32M
table_cache=768
tmp_table_size=52M
myisam_max_sort_file_size=100G
myisam_max_extra_sort_file_size=100G
myisam_sort_buffer_size=103M
key_buffer_size=12M
read_rnd_buffer_size=2M
sort_buffer_size=256K
innodb_data_home_dir=D:\_MySQL\InnoDB\
innodb_additional_mem_pool_size=8M
innodb_flush_log_at_trx_commit=0
innodb_log_buffer_size=2M
innodb_buffer_pool_size=128M
innodb_log_file_size=64M
innodb_thread_concurrency=8
innodb_file_per_table
innodb_open_files=2048
tmpdir=C:\TEMP
innodb_log_arch_dir=D:\_MySQL\InnoDB\logs
innodb_log_group_home_dir=D:\_MySQL\InnoDB\logs
innodb_data_file_path=ibdata1:10M:autoextend
log-bin=binlog
max_binlog_size=256M
max_allowed_packet=32M
--
MySQL Windows Mailing List
For list archives: http://lists.mysql.com/win32
To unsubscribe: http://lists.mysql.com/win32?unsub=gcdmw-win32@m.gmane.org