my understanding is that the datafiles are created when the server initializes, and this this is the designed and expected behavior. Most other database products use a similar model. Your scenario cannot happen. You specify how many innodb data files and how large in your config file. when the server starts, it allocates all the space you requested. if the server cannot find the space at startup, you get an error. if during an import the file size is exceeded, you get an error and the import stops. you cannot overrun your disk.

jeff
[EMAIL PROTECTED] wrote:
I agree with David. If there is no present way to recover unused InnoDB tablespace, then we (as a community) seriously need to create a tool to do just that. How have we gone so long without it? I always assumed it was possible (I guess I have been just lucky enough to not need to do it yet....)

What if, during the course of a major data import, I try something that creates a working table that expands my datafile to fill my available disk space. I might have made a logical error or not. Regardless of why it filled up, without the ability to reclaim that room, an entire server could be royally scr***d (assuming a server that supports a mix of InnoDB and other table types).

Please tell me there is something other than a dump-delete-import that can be used to shrink InnoDB tablespaces.

Shawn Green
Database Administrator
Unimin Corporation - Spruce Pine


David Seltzer <[EMAIL PROTECTED]> wrote on 08/03/2004 12:42:03 PM:


Thanks Marc,

Is there really no way to reclaim unused space in an InnoDB table space?

If

not, why is this not considered a tremendous limitation?

-Dave Seltzer

-----Original Message-----
From: Marc Slemko [mailto:[EMAIL PROTECTED] Sent: Tuesday, August 03, 2004 12:31 PM
To: David Seltzer
Cc: [EMAIL PROTECTED]
Subject: Re: InnoDB TableSpace Question


On Tue, 3 Aug 2004 10:07:25 -0400 , David Seltzer <[EMAIL PROTECTED]>
wrote:

Hi all,

I've been searching the archives & mysql documentation for a while and

I

can't seem to find an answer to my question -

Is there a way to force InnoDB to shrink its filesize? I just dropped

a

7GB

table, but it hasn't freed up the disk space and I need it back. From

what

I've been reading, a restart will cause this to happen, but I'm in a
production environment, and I'm afraid that InnoDB will take its sweet

time

while my users are holding their breath.

Does anyone have any experience with this?

No, a restart will not shrink it.

Currently the only option I can think of is to do a dump and restore,
using mysqldump (since innodb hot backup just copies the data file, it
won't be of any use in shrinking it).

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





--
Jeff Mathis, Ph.D.                      505-955-1434
Prediction Company                      [EMAIL PROTECTED]
525 Camino de los Marquez, Ste 6        http://www.predict.com
Santa Fe, NM 87505


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



Reply via email to