Hello Heikki,


I didn't understand the concept of tablespaces utilized,

----- Original Message -----
From: "Heikki Tuuri" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>; <[EMAIL PROTECTED]>
Sent: Wednesday, October 22, 2003 12:00 PM
Subject: MySQL/InnoDB-4.0.16 is released + sneak peek of 4.1.1


> Hi!
>
> InnoDB is a MySQL table type which provides transactions, row-level
locking,
> non-locking consistent SELECT (multiversioned concurrency control),
foreign
> key constraints, and a non-free hot backup tool for backing up InnoDB
> tables.
>
> InnoDB is included in all MySQL-4.0 and 4.1 downloads, and also in the
MySQL
> Pro commercial, non-GPL MySQL license.
>
> Release 4.0.16 is a bugfix release of the stable 4.0 branch. There are a
few
> known outstanding bugs in InnoDB-4.0.16, but their fixing has been
delayed,
> because we are allocating all free resources to preparing the upcoming
> MySQL-4.1.1 release.
>
> ---
>
> A sneak peek of MySQL-4.1.1:
>
> NOTE: if you upgrade to InnoDB-4.1.1, you cannot downgrade any more! That
is
> because earlier versions of InnoDB are not aware of multiple tablespaces.
>
> The public BitKeeper source tree of 4.1 now supports multiple tablespaces
> for InnoDB. You can enable them with the line
>
> innodb_file_per_table
>
> in the [mysqld] section of my.cnf. Then InnoDB stores each table into its
> own file
>
> tablename.ibd
>
> in the database directory where the table belongs. This is like MyISAM
does,
> but MyISAM divides the table to a data file tablename.MYD and the index
file
> tablename.MYI. For InnoDB, both the data and the indexes are in the .ibd
> file.
>
> If you remove the line, then InnoDB creates tables in the ibdata files
> again.
>
> InnoDB always needs the 'system tablespace', .ibd files are not enough.
The
> system tablespace consists of the familiar ibdata files. InnoDB puts there
> its internal data dictionary and undo logs.
>
> You CANNOT FREELY MOVE .ibd files around, like you can MyISAM tables. This
> is because the table definition is stored in the InnoDB system tablespace,
> and also because InnoDB must preserve the consistency of transaction id's
> and log sequence numbers.
>
> You can move an .ibd file and the associated table from a database to
> another (within the same MySQL/InnoDB installation) with the familiar
RENAME
> trick:
>
> RENAME TABLE olddatabasename.tablename TO newdatabasename.tablename;
>
> If you have a 'clean' backup of an .ibd file taken from the SAME
> MySQL/InnoDB installation, you can restore it to an InnoDB database with
the
> commands:
>
> ALTER TABLE tablename DISCARD TABLESPACE; /* CAUTION: deletes the current
> .ibd file! */
> <put the backup .ibd file to the proper place>
> ALTER TABLE tablename IMPORT TABLESPACE;
>
> 'Clean' in this context means:
>
> 1) There are no uncommitted modifications by transactions in the .ibd
file.
> 2) There are no unmerged insert buffer entries to the .ibd file.
> 3) Purge has removed all delete-marked index records from the .ibd file.
> 4) mysqld has flushed all modified pages of the .ibd file from the buffer
> pool to the file.
>
> You can make such a clean backup .ibd file with the following method.
>
> 1) Stop all activity from the mysqld server and commit all transactions.
> 2) Wait that SHOW INNODB STATUS\G shows that there are no active
> transactions in the database, and the 'main thread' of InnoDB is 'Waiting
> for server activity'. Then you can take a copy of the .ibd file.
>
> Another (non-free) method to make such a clean .ibd file is to
> 1) Use InnoDB Hot Backup to backup the InnoDB installation.
> 2) Start a second mysqld server on the backup and let it clean up the .ibd
> files.
>
> It is in the TODO to allow moving clean .ibd files also to another
> MySQL/InnoDB installation. That requires resetting of trx id's and log
> sequence numbers in the .ibd file.
>
> ---
>
> InnoDB changelog for 4.0.16:
>
> * Fixed a bug: contrary to what was said in the manual, in a locking read
> InnoDB set two record locks if a unique exact match search condition was
> used on a multi-column unique key. For a single column unique key it
worked
> right.
>
> * Fixed a bug: if one used the rename trick #sql... -> rsql... described
in
> section 15.1 of http://www.innodb.com/ibman.html to recover a temporary
> table, InnoDB asserted in row_mysql_lock_data_dictionary().
>
> * There are several outstanding non-critical bugs reported in the MySQL
bugs
> database. Their fixing has been delayed, because resources are allocated
to
> the upcoming 4.1.1 release.
>
> Best regards,
>
> Heikki Tuuri
> Innobase Oy
> http://www.innodb.com
>
>
>
> --
> MySQL General Mailing List
> For list archives: http://lists.mysql.com/mysql
> To unsubscribe:
http://lists.mysql.com/[EMAIL PROTECTED]
>
>


-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to