Dear MySQL people I have a question regarding the error:
InnoDB: Error: tablespace size stored in header is 17024 pages, but InnoDB: the sum of data file sizes is only 16576 pages which appeared when I upgraded from 4.0.7 to 4.1.7. Somehow I am 448 pages (7M) short of table space. Can I fix this using the procedure outlined in http://archives.neohapsis.com/archives/mysql/2004-q3/3723.html or should I do a dump/restore? Here are the gory details: I was running MySQL Ver 12.22 Distrib 4.0.17 with the following /etc/my.cnf file: [mysqld] user=www datadir=/local/own-1/rt/mysql-data innodb_data_file_path = ibdata1:10M:autoextend Then I built a new MySQL Ver 14.7 Distrib 4.1.7 and decided to do binary logging so I changed /etc/my.cnf to read [mysqld] user=rt datadir=/local/own-1/rt/mysql-data innodb_data_file_path = ibdata1:10M:autoextend # Set buffer pool size to 50-80% of memory set-variable = innodb_buffer_pool_size=512M set-variable = innodb_additional_mem_pool_size=10M # Set the log file size to about 25% of the buffer pool size set-variable = innodb_log_file_size=64M set-variable = innodb_log_buffer_size=8M innodb_flush_log_at_trx_commit=1 # Turn on binary logging and sync set-variable = log_bin=1 set-variable = sync_binlog=1 Then I shut down the old database, copied the data files and deleted the ib_logfile* files and this is what I got in the logs on starting 4.1.7. I was a bit surprised at the 'not shut down normally' message, but hey. ... 041229 14:04:51 mysqld started 041229 14:04:51 InnoDB: Log file ./ib_logfile0 did not exist: new to be created InnoDB: Setting log file ./ib_logfile0 size to 64 MB InnoDB: Database physically writes the file full: wait... 041229 14:04:53 InnoDB: Log file ./ib_logfile1 did not exist: new to be created InnoDB: Setting log file ./ib_logfile1 size to 64 MB InnoDB: Database physically writes the file full: wait... 041229 14:04:55 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... InnoDB: Resetting space id's in the doublewrite buffer 041229 14:04:55 InnoDB: Starting log scan based on checkpoint at InnoDB: log sequence number 0 405584396. InnoDB: Doing recovery: scanned up to log sequence number 0 405584396 041229 14:04:55 InnoDB: Flushing modified pages from the buffer pool... 041229 14:04:55 InnoDB: Started; log sequence number 0 405584396 InnoDB: You are upgrading to an InnoDB version which allows multiple InnoDB: tablespaces. Wait that purge and insert buffer merge run to InnoDB: completion... InnoDB: Full purge and insert buffer merge completed. InnoDB: You have now successfully upgraded to the multiple tablespaces InnoDB: format. You should NOT DOWNGRADE to an earlier version of InnoDB: InnoDB! But if you absolutely need to downgrade, see InnoDB: http://dev.mysql.com/doc/mysql/en/Multiple_tablespaces.html InnoDB: for instructions. 041229 14:04:57 [Warning] mysql.user table is not updated to new password format ; Disabling new password usage until mysql_fix_privilege_tables is run 041229 14:04:57 [Warning] Can't open and lock time zone table: Table 'mysql.time _zone_leap_second' doesn't exist trying to live without them /local/own-1/rt/rt-3.2.2/libexec/mysqld: ready for connections. Version: '4.1.7-log' socket: '/tmp/mysql.sock' port: 3306 Source distribution But now when I start the database I get: 041230 10:04:37 mysqld started InnoDB: Error: tablespace size stored in header is 17024 pages, but InnoDB: the sum of data file sizes is only 16576 pages 041230 10:04:39 InnoDB: Started; log sequence number 0 405783741 041230 10:04:39 [Warning] mysql.user table is not updated to new password format ; Disabling new password usage until mysql_fix_privilege_tables is run 041230 10:04:39 [Warning] Can't open and lock time zone table: Table 'mysql.time _zone_leap_second' doesn't exist trying to live without them /local/own-1/rt/rt-3.2.2/libexec/mysqld: ready for connections. Version: '4.1.7-log' socket: '/tmp/mysql.sock' port: 3306 Source distribution -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]