top button
Flag Notify
    Connect to us
      Site Registration

Site Registration

space gone after MyISAM REPAIR TABLE

0 votes

any suggestions? I just repaired 90G MyISAM table with REPAIR TABLE command. the space on the hard drive gone down from 165 Gig to 70 Gig. I understand that during repair process MySQL creates temp file and remove it after the job done. Or removal process executes on the server restart? how can I get that space back? I can't check the table directory as I don't have root perm on that box.

posted Jun 24, 2013 by anonymous

Share this question
Facebook Share Button Twitter Share Button LinkedIn Share Button

2 Answers

0 votes

Oops... Can you run [show global variables like 'innodb_file_per_table';] ?

I kind of expect it to be OFF, which means that the temp table would have been created in the main tablespace. If that's the case, that space has been permanently assimilated by the global tablespace; the only way to get it back would be a full dump of all your (innodb) tables, stop server, delete tablespace, start server and import the data again. Be sure to read the documentation carefully before doing such an intrusive operation.

While you're doing that, use the opportunity to set innodb_file_per_table to ON :-p

answer Jun 24, 2013 by anonymous
0 votes

Switch to InnoDB so you won't have to repair after crashes.
Caution: InnoDB takes 2x-3x the disk space per table. Be sure to use innodb_file_per_table=1.
" Repair by sort." is usually much faster than "repair by keycache"; you probably got 'sort' because of this being big enough: "myisam_sort_buffer_size = 526M"

answer Jun 25, 2013 by anonymous
Similar Questions
0 votes

I have 4 out of 6 mysql graphs working in munin. "MySQL isam/myisam table-space usage" is a broken image and "MySQL InnoDB free tablespace" says:

"This service is in CRITICAL state because one of the values reported is outside the allowed range.
Field Internal name Type Warn Crit Info Bytes free free gauge **********: **********:"

I don't know enough about mysql (or munin) to figure out what's going on. I'm using both MyISAM and InnoDB tables. Can anyone help me out?

+1 vote

I have some problem
I have store the data in the database without encrypt but i am view the data encrypt method after 1 day and doesn't know the details.

I am using php and mysql, Could the experts please comment on this, and offer some advice?

0 votes

I have a number of INSERT and UPDATE statements in a MySQL Stored Procedure, that works in the form of START TRANSACTION followed by COMMIT. Also I am handling any EXCEPTION.

However, after calling COMMIT, how can I get the number of Rows that were affected either INSERTED or UPDATTED ?