Re: Client still reports table full

2006-06-30 Thread Brent Baisley

Wow, I'm really sorry about that. Left out a zero. I should stop answering 
questions before the holiday weekend.

I was suggesting a minor change to 500 to see if that would work. Everything I've read about adjusting for table full errors always 
specifies both. Since only one was changed, MySQL might not have realized things were different(?).


Unfortunately, there's not a whole lot of info on this topic, at least that I can find. I learned a while ago to set these 
parameters when I create the table if I think the table will be huge. I've also switched to using merge tables, which makes it a lot 
easier to archive parts of the table.


You might try running the alter table command again with both variables 
specified.

- Original Message - 
From: Jacob, Raymond A Jr [EMAIL PROTECTED]

To: mysql@lists.mysql.com
Sent: Thursday, June 29, 2006 5:21 PM
Subject: RE: Client still reports table full


If I understand the results from SHOW TABLE STATUS LIKE 'data';
My avg_row_length = 497 Why would descreasing it to 50 have a positive
Effect. I would assume I should increase it?

Thank you/Raymond

-Original Message-
From: Brent Baisley [mailto:[EMAIL PROTECTED]
Sent: Thursday, June 29, 2006 15:53
To: Jacob, Raymond A Jr; mysql@lists.mysql.com
Subject: Re: Client still reports table full

Oops, left out an important part. You should change the Avg_row_length
also.

ALTER TABLE AVG_ROW_LENGTH = 50

You need to specify an average row length if you have dynamic length
fields in the table (blob, text, etc.).

Also, perhaps a silly question which you may have answered earlier, but
does you file system allow files larger than 4GB? Sometimes you have to
specifically enable that feature in a file system.

If that doesn't work, or you're limited to 4GB files, you may need to
switch to using a merge table.

- Original Message -
From: Jacob, Raymond A Jr [EMAIL PROTECTED]
To: mysql@lists.mysql.com
Sent: Thursday, June 29, 2006 1:37 PM
Subject: Client still reports table full


Yesterday:
I ran the following command:
ALTER TABLE data max_rows=1100

Today:
The client still reported table is full.
I rebooted the client and stopped and started the mysql server.
I still get the table is full error on the data table.

I ran the command:
\ echo SHOW TABLE STATUS LIKE 'data'; | mysql -u user -p snortdb
\ below is the output.

Name Engine Version Row_format Rows Avg_row_length
Data_length Max_data_length Index_length Data_free
Auto_increment Create_time Update_time Check_time
Collation Checksum Create_options Comment
data MyISAM 9 Dynamic 8721565 497 4335220336
1099511627775 127599616 0 NULL 2006-06-28 20:54:55
2006-06-29 18:02:32 NULL latin1_swedish_ci NULL
max_rows=1100

\\ df shows /var the partition with the database has enoungh room:
Filesystem1K-blocks Used   Avail Capacity  Mounted on

/dev/amrd0s1f  27792614 18449326 711988072%/var


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

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


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



Re: Client still reports table full

2006-06-29 Thread Dan Buettner

Hmmm ... several references online make it sound like that's all you
should need to do (the alter table statement, that is).

My next step would be to try a 'CHECK TABLE data QUICK' to see if it
reports anything unusual.  If it does, issue a 'REPAIR TABLE data'
command.  If check table quick reports nothing unusual, I would next
try a 'CHECK TABLE data MEDIUM' (or even EXTENDED), thought it could
take quite a while.  Then a repair table if it finds problems.

Or I guess you could get right to the point and run 'REPAIR TABLE
data' since it will not hurt anything if there are no problems!


Barring that - I've not run into this problem, myself.  You could
possibly copy the data table into a new table, data2, discard the
original, and rename the new to match the old.  This would give you a
table created from scratch with the proper size definition.  Something
like:

create table data2 like data;
show table status like data2;   -- check your max data length to
ensure it's OK
insert into data2 select * from data;
get coffee
wait
get more coffee
select count(*) from data2;  -- make sure your data moved OK
drop table data;
rename table data2 to data;

If you're using anything complex like foreign key constraints this
gets messy quickly though!  Also, with 4.3 GB of data, the process of
inserting the rows from data into data2 will take a while.  Finally,
you'll have to watch your disk space while this happens, as it's 4.3
GB of table plus indexes.

Dan

On 6/29/06, Jacob, Raymond A Jr [EMAIL PROTECTED] wrote:

 Yesterday:
I ran the following command:
ALTER TABLE data max_rows=1100

 Today:
The client still reported table is full.
I rebooted the client and stopped and started the mysql server.
I still get the table is full error on the data table.

I ran the command:
\ echo SHOW TABLE STATUS LIKE 'data'; | mysql -u user -p snortdb
\ below is the output.

NameEngine  Version Row_format  RowsAvg_row_length
Data_length Max_data_length Index_lengthData_free
Auto_increment  Create_time Update_time Check_time
Collation   ChecksumCreate_options  Comment
dataMyISAM  9   Dynamic 8721565 497 4335220336
1099511627775   127599616   0   NULL2006-06-28 20:54:55
2006-06-29 18:02:32 NULLlatin1_swedish_ci   NULL
max_rows=1100

\\ df shows /var the partition with the database has enoungh room:
Filesystem1K-blocks Used   Avail Capacity  Mounted on

/dev/amrd0s1f  27792614 18449326 711988072%/var


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




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



Re: Client still reports table full

2006-06-29 Thread Brent Baisley

Oops, left out an important part. You should change the Avg_row_length also.

ALTER TABLE AVG_ROW_LENGTH = 50

You need to specify an average row length if you have dynamic length fields in 
the table (blob, text, etc.).

Also, perhaps a silly question which you may have answered earlier, but does you file system allow files larger than 4GB? Sometimes 
you have to specifically enable that feature in a file system.


If that doesn't work, or you're limited to 4GB files, you may need to switch to 
using a merge table.

- Original Message - 
From: Jacob, Raymond A Jr [EMAIL PROTECTED]

To: mysql@lists.mysql.com
Sent: Thursday, June 29, 2006 1:37 PM
Subject: Client still reports table full


Yesterday:
I ran the following command:
ALTER TABLE data max_rows=1100

Today:
The client still reported table is full.
I rebooted the client and stopped and started the mysql server.
I still get the table is full error on the data table.

I ran the command:
\ echo SHOW TABLE STATUS LIKE 'data'; | mysql -u user -p snortdb
\ below is the output.

Name Engine Version Row_format Rows Avg_row_length
Data_length Max_data_length Index_length Data_free
Auto_increment Create_time Update_time Check_time
Collation Checksum Create_options Comment
data MyISAM 9 Dynamic 8721565 497 4335220336
1099511627775 127599616 0 NULL 2006-06-28 20:54:55
2006-06-29 18:02:32 NULL latin1_swedish_ci NULL
max_rows=1100

\\ df shows /var the partition with the database has enoungh room:
Filesystem1K-blocks Used   Avail Capacity  Mounted on

/dev/amrd0s1f  27792614 18449326 711988072%/var


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


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



RE: Client still reports table full

2006-06-29 Thread Jacob, Raymond A Jr
If I understand the results from SHOW TABLE STATUS LIKE 'data';
My avg_row_length = 497 Why would descreasing it to 50 have a positive
Effect. I would assume I should increase it?

Thank you/Raymond

-Original Message-
From: Brent Baisley [mailto:[EMAIL PROTECTED] 
Sent: Thursday, June 29, 2006 15:53
To: Jacob, Raymond A Jr; mysql@lists.mysql.com
Subject: Re: Client still reports table full

Oops, left out an important part. You should change the Avg_row_length
also.

ALTER TABLE AVG_ROW_LENGTH = 50

You need to specify an average row length if you have dynamic length
fields in the table (blob, text, etc.).

Also, perhaps a silly question which you may have answered earlier, but
does you file system allow files larger than 4GB? Sometimes you have to
specifically enable that feature in a file system.

If that doesn't work, or you're limited to 4GB files, you may need to
switch to using a merge table.

- Original Message -
From: Jacob, Raymond A Jr [EMAIL PROTECTED]
To: mysql@lists.mysql.com
Sent: Thursday, June 29, 2006 1:37 PM
Subject: Client still reports table full


Yesterday:
I ran the following command:
ALTER TABLE data max_rows=1100

 Today:
The client still reported table is full.
I rebooted the client and stopped and started the mysql server.
I still get the table is full error on the data table.

I ran the command:
\ echo SHOW TABLE STATUS LIKE 'data'; | mysql -u user -p snortdb
\ below is the output.

Name Engine Version Row_format Rows Avg_row_length
Data_length Max_data_length Index_length Data_free
Auto_increment Create_time Update_time Check_time
Collation Checksum Create_options Comment
data MyISAM 9 Dynamic 8721565 497 4335220336
1099511627775 127599616 0 NULL 2006-06-28 20:54:55
2006-06-29 18:02:32 NULL latin1_swedish_ci NULL
max_rows=1100

\\ df shows /var the partition with the database has enoungh room:
Filesystem1K-blocks Used   Avail Capacity  Mounted on

/dev/amrd0s1f  27792614 18449326 711988072%/var


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

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



Re: Client still reports table full

2006-06-29 Thread Dan Buettner

I'm not sure that avg_row_length has a bearing on your problem right
now ... the output of show table status you posted earlier shows that
you have:
current data length: 4335220336
maximum data length: 1099511627775
data_free: 0  (oddly)

data_free should be something like 1099511627775 - 4335220336 = 1095176407439

I wonder if the table was marked as being in an error status when it
filled up earlier and now needs a REPAIR operation (see my earlier
post).

Alternatively, Brent's question about a filesystem limit seems
pertinent.  What OS and filesystem are you using?  Though I would
think your error would change from a MySQL 'table is full' error to
some kind of OS-related error...

Dan



On 6/29/06, Jacob, Raymond A Jr [EMAIL PROTECTED] wrote:

If I understand the results from SHOW TABLE STATUS LIKE 'data';
My avg_row_length = 497 Why would descreasing it to 50 have a positive
Effect. I would assume I should increase it?

Thank you/Raymond

-Original Message-
From: Brent Baisley [mailto:[EMAIL PROTECTED]
Sent: Thursday, June 29, 2006 15:53
To: Jacob, Raymond A Jr; mysql@lists.mysql.com
Subject: Re: Client still reports table full

Oops, left out an important part. You should change the Avg_row_length
also.

ALTER TABLE AVG_ROW_LENGTH = 50

You need to specify an average row length if you have dynamic length
fields in the table (blob, text, etc.).

Also, perhaps a silly question which you may have answered earlier, but
does you file system allow files larger than 4GB? Sometimes you have to
specifically enable that feature in a file system.

If that doesn't work, or you're limited to 4GB files, you may need to
switch to using a merge table.

- Original Message -
From: Jacob, Raymond A Jr [EMAIL PROTECTED]
To: mysql@lists.mysql.com
Sent: Thursday, June 29, 2006 1:37 PM
Subject: Client still reports table full


Yesterday:
I ran the following command:
ALTER TABLE data max_rows=1100

 Today:
The client still reported table is full.
I rebooted the client and stopped and started the mysql server.
I still get the table is full error on the data table.

I ran the command:
\ echo SHOW TABLE STATUS LIKE 'data'; | mysql -u user -p snortdb
\ below is the output.

Name Engine Version Row_format Rows Avg_row_length
Data_length Max_data_length Index_length Data_free
Auto_increment Create_time Update_time Check_time
Collation Checksum Create_options Comment
data MyISAM 9 Dynamic 8721565 497 4335220336
1099511627775 127599616 0 NULL 2006-06-28 20:54:55
2006-06-29 18:02:32 NULL latin1_swedish_ci NULL
max_rows=1100

\\ df shows /var the partition with the database has enoungh room:
Filesystem1K-blocks Used   Avail Capacity  Mounted on

/dev/amrd0s1f  27792614 18449326 711988072%/var



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



RE: Client still reports table full

2006-06-29 Thread Jacob, Raymond A Jr
 
I will try REPAIR TABLE data. data.MYD is 4.1G so I am over the 4GB
limit and growing.
I also tried:
CHECK TABLE data QUICK;
CHECK TABLE data MEDIUM;
CHECK TABLE data EXTENDED;

They all showed OK.

Thank you again,
raymond
-Original Message-
From: Dan Buettner [mailto:[EMAIL PROTECTED] 
Sent: Thursday, June 29, 2006 17:55
To: Jacob, Raymond A Jr
Cc: mysql@lists.mysql.com
Subject: Re: Client still reports table full

I'm not sure that avg_row_length has a bearing on your problem right now
... the output of show table status you posted earlier shows that you
have:
current data length: 4335220336
maximum data length: 1099511627775
data_free: 0  (oddly)

data_free should be something like 1099511627775 - 4335220336 =
1095176407439

I wonder if the table was marked as being in an error status when it
filled up earlier and now needs a REPAIR operation (see my earlier
post).

Alternatively, Brent's question about a filesystem limit seems
pertinent.  What OS and filesystem are you using?  Though I would think
your error would change from a MySQL 'table is full' error to some kind
of OS-related error...

Dan



On 6/29/06, Jacob, Raymond A Jr [EMAIL PROTECTED] wrote:
 If I understand the results from SHOW TABLE STATUS LIKE 'data'; My 
 avg_row_length = 497 Why would descreasing it to 50 have a positive 
 Effect. I would assume I should increase it?

 Thank you/Raymond

 -Original Message-
 From: Brent Baisley [mailto:[EMAIL PROTECTED]
 Sent: Thursday, June 29, 2006 15:53
 To: Jacob, Raymond A Jr; mysql@lists.mysql.com
 Subject: Re: Client still reports table full

 Oops, left out an important part. You should change the Avg_row_length

 also.

 ALTER TABLE AVG_ROW_LENGTH = 50

 You need to specify an average row length if you have dynamic length 
 fields in the table (blob, text, etc.).

 Also, perhaps a silly question which you may have answered earlier, 
 but does you file system allow files larger than 4GB? Sometimes you 
 have to specifically enable that feature in a file system.

 If that doesn't work, or you're limited to 4GB files, you may need to 
 switch to using a merge table.

 - Original Message -
 From: Jacob, Raymond A Jr [EMAIL PROTECTED]
 To: mysql@lists.mysql.com
 Sent: Thursday, June 29, 2006 1:37 PM
 Subject: Client still reports table full


 Yesterday:
 I ran the following command:
 ALTER TABLE data max_rows=1100

  Today:
 The client still reported table is full.
 I rebooted the client and stopped and started the mysql server.
 I still get the table is full error on the data table.

 I ran the command:
 \ echo SHOW TABLE STATUS LIKE 'data'; | mysql -u user -p snortdb \ 
 below is the output.

 Name Engine Version Row_format Rows Avg_row_length Data_length 
 Max_data_length Index_length Data_free Auto_increment Create_time 
 Update_time Check_time Collation Checksum Create_options Comment data 
 MyISAM 9 Dynamic 8721565 497 4335220336
 1099511627775 127599616 0 NULL 2006-06-28 20:54:55
 2006-06-29 18:02:32 NULL latin1_swedish_ci NULL max_rows=1100

 \\ df shows /var the partition with the database has enoungh room:
 Filesystem1K-blocks Used   Avail Capacity  Mounted on
 
 /dev/amrd0s1f  27792614 18449326 711988072%/var
 

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