Posted by Slobodan Kovačević
on July 24, 2008
Today I had to import 3GB of InnoDB tables in MySQL. Unfortunately, while importing the server run out of disk space – which caused whole server to grind to a halt. Naively I tried to delete imported data to free up space… I was in for an unpleasant surprise.
By default when MySQL uses InnoDB engine it stores most of the information in single file called ibdata1. One downside is that once ibdata1 file grows it cannot shrink – even if you delete all InnoDB tables. For some reason MySQL is set to use single file instead of per-table tablespaces similar to MyISAM.
Enabling per-table tablespaces is easy just add innodb_file_per_table to my.cnf file. Problem is that all newly created tables, only new tables, will be in separate files. It seems that there’s no easy way to convert old tables and reclaim the space taken by ibdata1.
There are 3 ways and two are basically export-drop-delete-import type of solutions:
- Convert all InnoDB tables to MyISAM
- Export only InnoDB tables, drop them, delete ibdata1 and import InnoDB tables.
- Export all databases, delete ibdata1 and import everything back.
I choose option 2 because I luckily had only 40 InnoDB tables and much more using MyISAM. For details on how to apply each solution and down/up sides of each read MySQL: Reducing ibdata1.
Posted by Slobodan Kovačević
on July 13, 2008
[condensed from 'this should be interesting' tumblelog]
Posted by Slobodan Kovačević
on July 07, 2008
One thing that always annoyed me when rendering collection partials is that a local var in partial is named same as a partial template name. So, to go around this I always created another local variable in partial and gave it a more meaningful name.
No longer… As the Ryan says from now on in the Edge Rails you can specify the name of the local variable in which each collection element will be exposed within a partial. You will can do this:
render :partial => 'employees', :collection => @workers, :as => :person
It’s a simple thing, but it’s just one of the things that bugged me. I am glad it’s gone now.
Posted by Slobodan Kovačević
on July 06, 2008
This is the first weekly condensed edition of my “This should be interesting” tumblelog. Every Sunday I will re-post most interesting posts here on the Icebergist.
Posted by Slobodan Kovačević
on July 04, 2008
Today I tried to upgrade my Mac from 10.5.3 to 10.5.4 using normal Software Update. That didn’t go as planned as installation hanged at “Configuring Installation” and only thing I could do is shutdown the computer.
After some research and few unsuccessful retries I have finally managed to solve the upgrade problem by downloading standalone 10.5.4 update from Apple download section; booting in safe mode (hold shift key when booting) and then installing the update.