Two of the tables vb_post, vb_profilevisitor getting corrupted again and again.
The hosting company suggested the following:
Looks like the problem is that the .MYD table was converted to a .TMD
table as per the below article:http://www.raskas.be/blog/2008/04/08…and-tmd-files/
".TMD basically a temparory file of .MYD. it gets converted into .TMD
if the data size of the table has exceeded the actual size of the
data. in that case you can alter the table and increase the MAX size
of the table."We renamed the table back to the .MYD extension, but please check on
the MAX size of the the table.
May i know how to do it.
I want to change for two tables,
vb_post
vb_profilevisitor
This is my present values in database:
vb_profilevisitor: present Rows: 11995 Avg_row_length: 15
Max_data_length: 64424509439 vb_post: present Rows: 1325242
Avg_row_length: 1514 Max_data_length: 281474976710655
Can I alter it and increase the maximum table size with the following.
ALTER TABLE `vb_profilevisitor` MAX_ROWS=98281474976710655 AVG_ROW_LENGTH=1000000000;
ALTER TABLE `vb_post` MAX_ROWS=98281474976710655 AVG_ROW_LENGTH=1000000000;
Need quick replies.
Best Answer
Sounds like MISSION: IMPOSSIBLE. Just kidding. I just cringe when I see MyISAM.
I can tell you what the MySQL Documentation says. Please note what it says:
With that in mind, you would have to change myisam_data_pointer_size to 7
First, add this to
my.cnf
under the[mysqld]
group headerThen, run this in mysql
This will allow your current session and new connections to have the extended capacity and permit you to safely run those
ALTER TABLE
statements.Give it a Try !!!
UPDATE 2014-12-03 00:51 EST
I was just thinking. The MyISAM tables
vb_profilevisitor
andvb_post
may not like the ALTER TABLE because they were created when myisam_data_pointer_size was 6.To change it manually, do the following
Check the stats on vb_profilevisitor_new and vb_post_new
If the
max_data_length
andavg_row_length
changed, then copy the table data and swap new tables in