<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Differences Between innodb_data_file_path and innodb_file_per_table</title>
	<atom:link href="http://www.pythian.com/news/1067/difference-between-innodb_data_file_path-and-innodb_file_per_table/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.pythian.com/news/1067/difference-between-innodb_data_file_path-and-innodb_file_per_table/</link>
	<description>News and views from Pythian DBAs</description>
	<lastBuildDate>Sat, 13 Mar 2010 03:59:02 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: herodiade</title>
		<link>http://www.pythian.com/news/1067/difference-between-innodb_data_file_path-and-innodb_file_per_table/#comment-306515</link>
		<dc:creator>herodiade</dc:creator>
		<pubDate>Sat, 29 Nov 2008 12:14:02 +0000</pubDate>
		<guid isPermaLink="false">http://www.pythian.com/blogs/1067/difference-between-innodb_data_file_path-and-innodb_file_per_table#comment-306515</guid>
		<description>Actually, you can spread the ibdata files on different places (ie. several raid 10 arrays) just as with innodb_file_per_table.

This is just a matter of setting :
innodb_data_home_dir =
innodb_data_file_path = /d1/ibdata1:1024M;/d2/ibdata2:1024M;/d3/ibdata3:1024M:autoextend

In my opinion, the real case for innodb_file_per_table is the infamous &quot;innodb ibdata files do not shrink&quot; bug.</description>
		<content:encoded><![CDATA[<p>Actually, you can spread the ibdata files on different places (ie. several raid 10 arrays) just as with innodb_file_per_table.</p>
<p>This is just a matter of setting :<br />
innodb_data_home_dir =<br />
innodb_data_file_path = /d1/ibdata1:1024M;/d2/ibdata2:1024M;/d3/ibdata3:1024M:autoextend</p>
<p>In my opinion, the real case for innodb_file_per_table is the infamous &#8220;innodb ibdata files do not shrink&#8221; bug.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: ILD</title>
		<link>http://www.pythian.com/news/1067/difference-between-innodb_data_file_path-and-innodb_file_per_table/#comment-253143</link>
		<dc:creator>ILD</dc:creator>
		<pubDate>Wed, 06 Aug 2008 20:33:45 +0000</pubDate>
		<guid isPermaLink="false">http://www.pythian.com/blogs/1067/difference-between-innodb_data_file_path-and-innodb_file_per_table#comment-253143</guid>
		<description>Here is my.cnf
datadir = /data/mysql
innodb_data_home_dir = /data/mysql
innodb_data_file_path = ibdata1:50M;ibdata2:50M:MAX:100M
innodb_file_per_table

The above disables innodb.
When I have  the following in my.cnf
datadir = /data/mysql
innodb_file_per_table

It correctly enables innodb and it produces individual ibd tables but it winds up with the following default attribute:

innodb_data_file_path = ibdata1:10M:autoextend

How can I turn this off and still have innodb enabled with the innodb_file_per_table turned on?

This seems to be a bug.

Here is the version I am working with
mysql  Ver 14.12 Distrib 5.0.36sp1, for unknown-linux-gnu (x86_64) using readline 5.0</description>
		<content:encoded><![CDATA[<p>Here is my.cnf<br />
datadir = /data/mysql<br />
innodb_data_home_dir = /data/mysql<br />
innodb_data_file_path = ibdata1:50M;ibdata2:50M:MAX:100M<br />
innodb_file_per_table</p>
<p>The above disables innodb.<br />
When I have  the following in my.cnf<br />
datadir = /data/mysql<br />
innodb_file_per_table</p>
<p>It correctly enables innodb and it produces individual ibd tables but it winds up with the following default attribute:</p>
<p>innodb_data_file_path = ibdata1:10M:autoextend</p>
<p>How can I turn this off and still have innodb enabled with the innodb_file_per_table turned on?</p>
<p>This seems to be a bug.</p>
<p>Here is the version I am working with<br />
mysql  Ver 14.12 Distrib 5.0.36sp1, for unknown-linux-gnu (x86_64) using readline 5.0</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: ICD</title>
		<link>http://www.pythian.com/news/1067/difference-between-innodb_data_file_path-and-innodb_file_per_table/#comment-253139</link>
		<dc:creator>ICD</dc:creator>
		<pubDate>Wed, 06 Aug 2008 20:27:47 +0000</pubDate>
		<guid isPermaLink="false">http://www.pythian.com/blogs/1067/difference-between-innodb_data_file_path-and-innodb_file_per_table#comment-253139</guid>
		<description>ON a version  5.0.36sp1-enterprise-gpl MySQL Enterprise Server (GPL)

I have the innodb_file_per_table set on without the innodb_data_file_path set and the 
following is true when I check the global variables:
have_innodb has a value of YES
innodb_data_file_path has a value of ibdata1:10M:autoextend
innodb_file_per_table has a value of ON

this to me seems to be a bug.  If there will be individual file ibd files why would I have an ibdata1 created?  Secondly, anytime I try setting the innodb_data_file_path it turns off the innodb engine and have_innodb winds up having a value of NO.  The error when I do set the innodb_data_file_path is 
080805  7:16:57 [ERROR] InnoDB: syntax error in innodb_data_file_path

Here is the entry in the my.cnf:
datadir = /data/mysql
innodb_data_home_dir = /data/mysql
innodb_data_file_path = ibdata1:50M;ibdata2:50M:MAX:100M
innodb_file_per_table

Any ideas.  I want to have the .ibd per table and not have an ibdata1 which autoextends.</description>
		<content:encoded><![CDATA[<p>ON a version  5.0.36sp1-enterprise-gpl MySQL Enterprise Server (GPL)</p>
<p>I have the innodb_file_per_table set on without the innodb_data_file_path set and the<br />
following is true when I check the global variables:<br />
have_innodb has a value of YES<br />
innodb_data_file_path has a value of ibdata1:10M:autoextend<br />
innodb_file_per_table has a value of ON</p>
<p>this to me seems to be a bug.  If there will be individual file ibd files why would I have an ibdata1 created?  Secondly, anytime I try setting the innodb_data_file_path it turns off the innodb engine and have_innodb winds up having a value of NO.  The error when I do set the innodb_data_file_path is<br />
080805  7:16:57 [ERROR] InnoDB: syntax error in innodb_data_file_path</p>
<p>Here is the entry in the my.cnf:<br />
datadir = /data/mysql<br />
innodb_data_home_dir = /data/mysql<br />
innodb_data_file_path = ibdata1:50M;ibdata2:50M:MAX:100M<br />
innodb_file_per_table</p>
<p>Any ideas.  I want to have the .ibd per table and not have an ibdata1 which autoextends.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dieter</title>
		<link>http://www.pythian.com/news/1067/difference-between-innodb_data_file_path-and-innodb_file_per_table/#comment-249508</link>
		<dc:creator>Dieter</dc:creator>
		<pubDate>Sat, 02 Aug 2008 10:31:17 +0000</pubDate>
		<guid isPermaLink="false">http://www.pythian.com/blogs/1067/difference-between-innodb_data_file_path-and-innodb_file_per_table#comment-249508</guid>
		<description>With MyISAM one could easily copy a database directory from one server to another and there it could be used immidialety.

Will this work with a InnoDB database that has been splitted to files too?</description>
		<content:encoded><![CDATA[<p>With MyISAM one could easily copy a database directory from one server to another and there it could be used immidialety.</p>
<p>Will this work with a InnoDB database that has been splitted to files too?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: guzik &#187; Blog Archive &#187; MySQL: multiple tablespaces</title>
		<link>http://www.pythian.com/news/1067/difference-between-innodb_data_file_path-and-innodb_file_per_table/#comment-249229</link>
		<dc:creator>guzik &#187; Blog Archive &#187; MySQL: multiple tablespaces</dc:creator>
		<pubDate>Sat, 02 Aug 2008 03:09:34 +0000</pubDate>
		<guid isPermaLink="false">http://www.pythian.com/blogs/1067/difference-between-innodb_data_file_path-and-innodb_file_per_table#comment-249229</guid>
		<description>[...] Differences Between innodb_data_file_path and innodb_file_per_table [...]</description>
		<content:encoded><![CDATA[<p>[...] Differences Between innodb_data_file_path and innodb_file_per_table [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: phasnox</title>
		<link>http://www.pythian.com/news/1067/difference-between-innodb_data_file_path-and-innodb_file_per_table/#comment-228798</link>
		<dc:creator>phasnox</dc:creator>
		<pubDate>Wed, 02 Jul 2008 17:15:13 +0000</pubDate>
		<guid isPermaLink="false">http://www.pythian.com/blogs/1067/difference-between-innodb_data_file_path-and-innodb_file_per_table#comment-228798</guid>
		<description>Hi, great article..
you said
&quot;You can specify multiple file paths using multiple innodb_file_per_table options in my.cnf, and ?spread the load? over multiple partitions or hard drives. &quot;

how do you do that?</description>
		<content:encoded><![CDATA[<p>Hi, great article..<br />
you said<br />
&#8220;You can specify multiple file paths using multiple innodb_file_per_table options in my.cnf, and ?spread the load? over multiple partitions or hard drives. &#8221;</p>
<p>how do you do that?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Xaprb</title>
		<link>http://www.pythian.com/news/1067/difference-between-innodb_data_file_path-and-innodb_file_per_table/#comment-222520</link>
		<dc:creator>Xaprb</dc:creator>
		<pubDate>Sun, 22 Jun 2008 12:34:23 +0000</pubDate>
		<guid isPermaLink="false">http://www.pythian.com/blogs/1067/difference-between-innodb_data_file_path-and-innodb_file_per_table#comment-222520</guid>
		<description>With file-per-table, the shared tablespace is still configurable as usual.  It just doesn&#039;t have as much data in it, so you can configure it to be smaller.  It does have more than meta-data, though.  For example: undo logs, insert buffer, doublewrite buffer, etc.  Lots of &quot;real&quot; data -- the kind of stuff that will cause lost data if you delete it.</description>
		<content:encoded><![CDATA[<p>With file-per-table, the shared tablespace is still configurable as usual.  It just doesn&#8217;t have as much data in it, so you can configure it to be smaller.  It does have more than meta-data, though.  For example: undo logs, insert buffer, doublewrite buffer, etc.  Lots of &#8220;real&#8221; data &#8212; the kind of stuff that will cause lost data if you delete it.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Gavin Towey</title>
		<link>http://www.pythian.com/news/1067/difference-between-innodb_data_file_path-and-innodb_file_per_table/#comment-221419</link>
		<dc:creator>Gavin Towey</dc:creator>
		<pubDate>Fri, 20 Jun 2008 21:14:45 +0000</pubDate>
		<guid isPermaLink="false">http://www.pythian.com/blogs/1067/difference-between-innodb_data_file_path-and-innodb_file_per_table#comment-221419</guid>
		<description>You don&#039;t even have to do that much to convert tables from the single tablespace to the individual files.  After enabling &quot;innodb_file_per_table&quot; and restarting mysql just do &quot;ALTER TABLE foo ENGINE=InnoDB&quot; and it will rebuild the table and pull it out of the shared tablespace.

However if you ever want to reclaim all that shared tablespace then you&#039;ll have to dump the db, shutdown mysql &amp; delete the tablespace / log &amp; .frm files then edit the my.cnf to re-adjust the shared tablespace file sizes and then restart and let mysql build empty files, then import your data back in.

It&#039;s also been shown that the shared tablespace has a bit faster read/write performance.</description>
		<content:encoded><![CDATA[<p>You don&#8217;t even have to do that much to convert tables from the single tablespace to the individual files.  After enabling &#8220;innodb_file_per_table&#8221; and restarting mysql just do &#8220;ALTER TABLE foo ENGINE=InnoDB&#8221; and it will rebuild the table and pull it out of the shared tablespace.</p>
<p>However if you ever want to reclaim all that shared tablespace then you&#8217;ll have to dump the db, shutdown mysql &amp; delete the tablespace / log &amp; .frm files then edit the my.cnf to re-adjust the shared tablespace file sizes and then restart and let mysql build empty files, then import your data back in.</p>
<p>It&#8217;s also been shown that the shared tablespace has a bit faster read/write performance.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Morgan Tocker</title>
		<link>http://www.pythian.com/news/1067/difference-between-innodb_data_file_path-and-innodb_file_per_table/#comment-221356</link>
		<dc:creator>Morgan Tocker</dc:creator>
		<pubDate>Fri, 20 Jun 2008 19:06:16 +0000</pubDate>
		<guid isPermaLink="false">http://www.pythian.com/blogs/1067/difference-between-innodb_data_file_path-and-innodb_file_per_table#comment-221356</guid>
		<description>There&#039;s situations when either one can be a better choice.

There are more disadvantages of using file per table - you end up consuming significantly more file descriptors (which is a problem particularly for MySQL on Windows).  The main InnoDB thread that wakes up every few seconds will also have to flush a lot more files when it checkpoints.

You don&#039;t need to mysqldump the data to convert from the shared global tablespace to the file per table model (but you don&#039;t reclaim space unless you do).  A CREATE TABLE new_table LIKE old_table; INSERT INTO new_table SELECT * FROM old_table; DROP TABLE old_table; RENAME TABLE new_table to old_table; is the alternative.</description>
		<content:encoded><![CDATA[<p>There&#8217;s situations when either one can be a better choice.</p>
<p>There are more disadvantages of using file per table &#8211; you end up consuming significantly more file descriptors (which is a problem particularly for MySQL on Windows).  The main InnoDB thread that wakes up every few seconds will also have to flush a lot more files when it checkpoints.</p>
<p>You don&#8217;t need to mysqldump the data to convert from the shared global tablespace to the file per table model (but you don&#8217;t reclaim space unless you do).  A CREATE TABLE new_table LIKE old_table; INSERT INTO new_table SELECT * FROM old_table; DROP TABLE old_table; RENAME TABLE new_table to old_table; is the alternative.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
