Re: problem with INNODB tables

2012-03-15 Thread Reindl Harald


Am 15.03.2012 17:31, schrieb Malka Cymbalista:
 We are running MySQL version 5.0.45 on a Linux machine.  Most of our tables 
 are MyIASM but we have recently installed drupal 7 and drupal 7 requires 
 INNODB tables. Every now and then when we restart MySQL using the commands 
 /etc/init.d/mysql stop and /etc/init.d/mysql start our sites that were built 
 in drupal 7 do not come up.  After much trial and error we came up with the 
 following solution:
 We stop mysql
 We remove the files ib_logfile0 and ib_logfile1
 We rename ibdata1 to ibdata1.old (mv ibdata1 ibdata1.old)
 We copy ibdata1.old back to ibdata1 (cp -a ibdata1.old ibdata1)
 We start mysql
 And everything is fine and the sites that use INNODB tables are fine.
 We clearly have a problem but we have no idea where to start looking. 

what about start with looking in the errorlog?






signature.asc
Description: OpenPGP digital signature


Re: problem with InnoDB

2006-09-10 Thread Gabriel PREDA

On 9/7/06, Paul McCullagh [EMAIL PROTECTED] wrote:


It sounds like you program allows ad-hoc queries, so why don't you
just limit the number of rows returned by a select?

For example you could limit the number of rows to 1001. If the server
returns 1001, then display 1000 and tell the user there are actually
more rows. The user should then apply further conditions.


Some things worth mentioning when using LIMIT:

In MySQL the LIMIT clause is applied just before sending the result to
the client... so a
SELECT col1, col2, ... , colN FROM tableName LIMIT x, y
will be performed as
SELECT col1, col2, ... , colN FROM tableName
and before sending the result to the client the LIMIT will be applied...

There are some things to consider... if you have an ORDER BY clause
MySQL will stop sorting after LIMIT clause is satisfied...

To skit the COUNT(*) query you must use:

SELECT SQL_CALC_FOUND_ROWS col1, col2, ... , colN FROM tableName LIMIT x, y

This way MySQL will store internally the number of rows that would
have been returned without the LIMIT clause
[The drawback is that if you have an ORDER BY clause MySQL will not
stop after sorting LIMIT x,y rows... as I mentioned above]

But the gain is that the second query that will return the number of
rows without the LIMIT clause:
SELECT FOUND_ROWS()
will return instantly.


-- -- -- -- -- -- -- -- -- -- -- -- -- --
Gabriel PREDA
Senior Web Developer

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



Re: problem with InnoDB

2006-09-07 Thread Douglas Sims

Hi Prasad

This question got me a bit interested as we're thinking of moving  
some MyISAM tables to InnoDB and I haven't used it much.


I decided to test some of these ideas so I created an innodb table  
and put some data into it and tried some selects:


(Running on MacBook Pro, 2.0ghz, 1gb RAM, OS X 10.4.7)


mysql select @@version;
+-+
| @@version   |
+-+
| 5.0.19-standard-log |
+-+
1 row in set (0.00 sec)

mysql show create table t5;
+--- 
+--- 
 
-+
| Table | Create  
Table

 |
+--- 
+--- 
 
-+

| t5| CREATE TABLE `t5` (
  `id` int(9) NOT NULL auto_increment,
  `name` varchar(32) default NULL,
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 |
+--- 
+--- 
 
-+

1 row in set (0.00 sec)


Then I inserted a million rows of random strings:

#!/usr/bin/perl

use DBI;

$db = DBI-connect('DBI:mysql:test', 'test', 'test') || die Content- 
type: text/html\n\nSorry could not connect to DBbr /;


foreach (1..100) {
  $name='';
  foreach (1..30) {$name.=chr(65+rand(25));}
  $db-do('INSERT INTO t5 (name) VALUES ('.$db-quote($name).')');
  print Now inserting $_\n;
  }


and watched the server while it was inserting.  I tried SELECT COUNT 
(*) repeatedly as the table was filled:



mysql select count(*) from t5;
+--+
| count(*) |
+--+
| 16464|
+--+
1 row in set (0.02 sec)

mysql select count(*) from t5;
+--+
| count(*) |
+--+
| 27343|
+--+
1 row in set (0.02 sec)

mysql select count(*) from t5;
+--+
| count(*) |
+--+
| 63263|
+--+
1 row in set (0.03 sec)

mysql select count(*) from t5;
+--+
| count(*) |
+--+
| 118442   |
+--+
1 row in set (0.05 sec)

mysql select count(*) from t5;
+--+
| count(*) |
+--+
| 182230   |
+--+
1 row in set (0.42 sec)

mysql select count(*) from t5;
+--+
| count(*) |
+--+
| 272427   |
+--+
1 row in set (0.28 sec)

mysql select count(*) from t5;
+--+
| count(*) |
+--+
| 407541   |
+--+
1 row in set (0.60 sec)

mysql select count(*) from t5;
+--+
| count(*) |
+--+
| 506970   |
+--+
1 row in set (0.56 sec)

mysql select count(*) from t5;
+--+
| count(*) |
+--+
| 650197   |
+--+
1 row in set (0.58 sec)

mysql select count(*) from t5;
+--+
| count(*) |
+--+
| 756860   |
+--+
1 row in set (0.79 sec)

mysql show processlist;
++--+---+--+-+--+ 
+-+
| Id | User | Host  | db   | Command | Time | State  |  
Info|
++--+---+--+-+--+ 
+-+
| 37 | test | localhost | test | Query   | 0|| show  
processlist|
| 38 | test | localhost | test | Query   | 0| update | INSERT  
INTO t5 (name) VALUES ('BJWCKTSWFNIJCFKMUIKFPTUMEIAFDG') |
++--+---+--+-+--+ 
+-+

2 rows in set (0.01 sec)

mysql show processlist;
++--+---+--+-+--+ 
+-+
| Id | User | Host  | db   | Command | Time | State  |  
Info|
++--+---+--+-+--+ 
+-+
| 37 | test | localhost | test | Query   | 0|| show  
processlist|
| 38 | test | localhost | test | Query   | 0| update | INSERT  
INTO t5 (name) VALUES ('AICBWBYTSUXGKMKQCBDKAJSPIKETAV') |
++--+---+--+-+--+ 
+-+

2 rows in set (0.00 sec)

mysql select count(*) from t5;
+--+
| count(*) |
+--+
| 885597   |
+--+
1 row in set (1.02 sec)

mysql select count(*) from t5;
+--+
| count(*) |
+--+
| 100  |
+--+
1 row in set (0.85 sec)

mysql select max(id) 

RE: problem with InnoDB

2006-09-07 Thread prasad.ramisetti

Hi Douglas,

I need to know the number of rows that a query will return before
actually executing the query. So I am sending select count(*) before
sending select *. Actually I need to reject queries if the number of
records that it will return is huge, to avoid my server running out of
memory. My application has a huge database of around 10 millions.

The selects with INNODB falls drastically as the size of records grow. A
select count(*) that takes 4 secs with 1 million records takes 40 secs
with 3 million records.

Regards
Prasad

-Original Message-
From: Douglas Sims [mailto:[EMAIL PROTECTED]
Sent: Thursday, September 07, 2006 10:39 AM
To: Prasad Ramisetti (WT01 - Broadband Networks)
Cc: MySQL List
Subject: Re: problem with InnoDB

Hi Prasad

A primary key automatically creates an index and not-null and unique
constraints, too.  So you don't need to explicitly create an index on a
primary key column.

If your queries are going to have WHERE clauses (as they most likely
are) I'm not sure how the small-index suggestion would make the query
any faster - the WHERE clause would preclude the use of that index in
computing the rows - but I'm probably missing something here.

When you say that you need to know the number of rows returned before
executing the query, do you mean before you start getting rows back or
before you actually execute the query?  I don't think it's possible to
know how many rows the query will return without actually executing it,
but you might well want to know how many rows you get before you start
processing rows.

Have you looked at the SQL_CALC_FOUND_ROWS option on SELECT, and the
accompanying FOUND_ROWS() function? http://dev.mysql.com/doc/refman/
5.0/en/information-functions.html
  It will tell you the total number of rows which would have been found
if you hadn't used a LIMIT clause.  I think it is a connection- specific
function; if you created a second statement handle and did a SELECT
FOUND_ROWS() on the same connection, perhaps that would give what you
want.


Douglas Sims
[EMAIL PROTECTED]




On Sep 6, 2006, at 11:29 PM, [EMAIL PROTECTED]
[EMAIL PROTECTED] wrote:


 Hi Dan,

 Thanks for yur response. Does it makes sense to create an index on a
 primary key ..as that is my smallest field ?

 Regards
 Prasad

 -Original Message-
 From: Dan Nelson [mailto:[EMAIL PROTECTED]
 Sent: Monday, September 04, 2006 9:53 AM
 To: Prasad Ramisetti (WT01 - Broadband Networks)
 Cc: [EMAIL PROTECTED]; mysql@lists.mysql.com
 Subject: Re: problem with InnoDB

 In the last episode (Sep 04), [EMAIL PROTECTED] said:
 Actually there is some requirement, where I need to know the 
 number of

 rows that I will get for my queries before actually executing the
 query. Could you please suggest some way for this.

 Your best bet is to create an index on the smallest column you can 
 find
 (maybe even create a char(1) and leave it empty), and SELECT COUNT(*)
 FROM innotable USE INDEX (smallcolumn).  That way mysql only has to
 scan a small secondary index instead of the main table index.

 --
   Dan Nelson
   [EMAIL PROTECTED]


 The information contained in this electronic message and any 
 attachments to this message are intended for the exclusive use of 
 the addressee(s) and may contain proprietary, confidential or 
 privileged information. If you are not the intended recipient, you 
 should not disseminate, distribute or copy this e-mail. Please 
 notify the sender immediately and destroy all copies of this 
 message and any attachments.

 WARNING: Computer viruses can be transmitted via email. The 
 recipient should check this email and any attachments for the 
 presence of viruses. The company accepts no liability for any 
 damage caused by any virus transmitted by this email.

 www.wipro.com

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




The information contained in this electronic message and any attachments to 
this message are intended for the exclusive use of the addressee(s) and may 
contain proprietary, confidential or privileged information. If you are not the 
intended recipient, you should not disseminate, distribute or copy this e-mail. 
Please notify the sender immediately and destroy all copies of this message and 
any attachments.

WARNING: Computer viruses can be transmitted via email. The recipient should 
check this email and any attachments for the presence of viruses. The company 
accepts no liability for any damage caused by any virus transmitted by this 
email.

www.wipro.com

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



RE: problem with InnoDB

2006-09-07 Thread prasad.ramisetti


Hi Douglas,

I need to know the number of rows that a query will return before
actually executing the query. So I am sending select count(*) before
sending select *. Actually I need to reject queries if the number of
records that it will return is huge, to avoid my server running out of
memory. My application has a huge database of around 10 millions.

The selects with INNODB falls drastically as the size of records grow. A
select count(*) that takes 4 secs with 1 million records takes 40 secs
with 3 million records.

Regards
Prasad

-Original Message-
From: Douglas Sims [mailto:[EMAIL PROTECTED]
Sent: Thursday, September 07, 2006 10:39 AM
To: Prasad Ramisetti (WT01 - Broadband Networks)
Cc: MySQL List
Subject: Re: problem with InnoDB

Hi Prasad

A primary key automatically creates an index and not-null and unique
constraints, too.  So you don't need to explicitly create an index on a
primary key column.

If your queries are going to have WHERE clauses (as they most likely
are) I'm not sure how the small-index suggestion would make the query
any faster - the WHERE clause would preclude the use of that index in
computing the rows - but I'm probably missing something here.

When you say that you need to know the number of rows returned before
executing the query, do you mean before you start getting rows back or
before you actually execute the query?  I don't think it's possible to
know how many rows the query will return without actually executing it,
but you might well want to know how many rows you get before you start
processing rows.

Have you looked at the SQL_CALC_FOUND_ROWS option on SELECT, and the
accompanying FOUND_ROWS() function? http://dev.mysql.com/doc/refman/
5.0/en/information-functions.html
  It will tell you the total number of rows which would have been found
if you hadn't used a LIMIT clause.  I think it is a connection- specific
function; if you created a second statement handle and did a SELECT
FOUND_ROWS() on the same connection, perhaps that would give what you
want.


Douglas Sims
[EMAIL PROTECTED]




On Sep 6, 2006, at 11:29 PM, [EMAIL PROTECTED]
[EMAIL PROTECTED] wrote:


 Hi Dan,

 Thanks for yur response. Does it makes sense to create an index on a
 primary key ..as that is my smallest field ?

 Regards
 Prasad

 -Original Message-
 From: Dan Nelson [mailto:[EMAIL PROTECTED]
 Sent: Monday, September 04, 2006 9:53 AM
 To: Prasad Ramisetti (WT01 - Broadband Networks)
 Cc: [EMAIL PROTECTED]; mysql@lists.mysql.com
 Subject: Re: problem with InnoDB

 In the last episode (Sep 04), [EMAIL PROTECTED] said:
 Actually there is some requirement, where I need to know the number
 of

 rows that I will get for my queries before actually executing the
 query. Could you please suggest some way for this.

 Your best bet is to create an index on the smallest column you can
 find (maybe even create a char(1) and leave it empty), and SELECT
 COUNT(*) FROM innotable USE INDEX (smallcolumn).  That way mysql only

 has to scan a small secondary index instead of the main table index.

 --
   Dan Nelson
   [EMAIL PROTECTED]


 The information contained in this electronic message and any
 attachments to this message are intended for the exclusive use of the
 addressee(s) and may contain proprietary, confidential or privileged
 information. If you are not the intended recipient, you should not
 disseminate, distribute or copy this e-mail. Please notify the sender
 immediately and destroy all copies of this message and any
 attachments.

 WARNING: Computer viruses can be transmitted via email. The recipient
 should check this email and any attachments for the presence of
 viruses. The company accepts no liability for any damage caused by any

 virus transmitted by this email.

 www.wipro.com

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




The information contained in this electronic message and any attachments to 
this message are intended for the exclusive use of the addressee(s) and may 
contain proprietary, confidential or privileged information. If you are not the 
intended recipient, you should not disseminate, distribute or copy this e-mail. 
Please notify the sender immediately and destroy all copies of this message and 
any attachments.

WARNING: Computer viruses can be transmitted via email. The recipient should 
check this email and any attachments for the presence of viruses. The company 
accepts no liability for any damage caused by any virus transmitted by this 
email.

www.wipro.com

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



Re: problem with InnoDB

2006-09-07 Thread Jochem van Dieten

On 9/7/06, [EMAIL PROTECTED] wrote:


I need to know the number of rows that a query will return before
actually executing the query. So I am sending select count(*) before
sending select *. Actually I need to reject queries if the number of
records that it will return is huge, to avoid my server running out of
memory. My application has a huge database of around 10 millions.

The selects with INNODB falls drastically as the size of records grow. A
select count(*) that takes 4 secs with 1 million records takes 40 secs
with 3 million records.


Just read the fine manual, everything is explained there:
http://dev.mysql.com/doc/refman/4.1/en/innodb-tuning.html

If you want more information on the fundamentals behind
multiversioning I would recommend reading chapter 5 of Concurrency
Control and Recovery in Database Systems
http://research.microsoft.com/pubs/ccontrol/ If you want more
information about the InnoDB specific implementation details there is
always the source.

Jochem

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



Re: problem with InnoDB

2006-09-07 Thread Paul McCullagh


On Sep 7, 2006, at 3:32 PM, [EMAIL PROTECTED] wrote:


I need to know the number of rows that a query will return before
actually executing the query. So I am sending select count(*) before
sending select *. Actually I need to reject queries if the number of
records that it will return is huge, to avoid my server running out of
memory. My application has a huge database of around 10 millions.


It sounds like you program allows ad-hoc queries, so why don't you  
just limit the number of rows returned by a select?


For example you could limit the number of rows to 1001. If the server  
returns 1001, then display 1000 and tell the user there are actually  
more rows. The user should then apply further conditions.



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



RE: problem with InnoDB

2006-09-06 Thread prasad.ramisetti

Hi Dan,

Thanks for yur response. Does it makes sense to create an index on a
primary key ..as that is my smallest field ?

Regards
Prasad

-Original Message-
From: Dan Nelson [mailto:[EMAIL PROTECTED]
Sent: Monday, September 04, 2006 9:53 AM
To: Prasad Ramisetti (WT01 - Broadband Networks)
Cc: [EMAIL PROTECTED]; mysql@lists.mysql.com
Subject: Re: problem with InnoDB

In the last episode (Sep 04), [EMAIL PROTECTED] said:
 Actually there is some requirement, where I need to know the number of

 rows that I will get for my queries before actually executing the
 query. Could you please suggest some way for this.

Your best bet is to create an index on the smallest column you can find
(maybe even create a char(1) and leave it empty), and SELECT COUNT(*)
FROM innotable USE INDEX (smallcolumn).  That way mysql only has to
scan a small secondary index instead of the main table index.

--
Dan Nelson
[EMAIL PROTECTED]


The information contained in this electronic message and any attachments to 
this message are intended for the exclusive use of the addressee(s) and may 
contain proprietary, confidential or privileged information. If you are not the 
intended recipient, you should not disseminate, distribute or copy this e-mail. 
Please notify the sender immediately and destroy all copies of this message and 
any attachments.

WARNING: Computer viruses can be transmitted via email. The recipient should 
check this email and any attachments for the presence of viruses. The company 
accepts no liability for any damage caused by any virus transmitted by this 
email.

www.wipro.com

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



Re: problem with InnoDB

2006-09-06 Thread Chris

[EMAIL PROTECTED] wrote:

Hi Dan,

Thanks for yur response. Does it makes sense to create an index on a
primary key ..as that is my smallest field ?


A primary key already has an index.

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



Re: problem with InnoDB

2006-09-06 Thread Douglas Sims

Hi Prasad

A primary key automatically creates an index and not-null and unique  
constraints, too.  So you don't need to explicitly create an index on  
a primary key column.


If your queries are going to have WHERE clauses (as they most likely  
are) I'm not sure how the small-index suggestion would make the query  
any faster - the WHERE clause would preclude the use of that index in  
computing the rows - but I'm probably missing something here.


When you say that you need to know the number of rows returned before  
executing the query, do you mean before you start getting rows back  
or before you actually execute the query?  I don't think it's  
possible to know how many rows the query will return without actually  
executing it, but you might well want to know how many rows you get  
before you start processing rows.


Have you looked at the SQL_CALC_FOUND_ROWS option on SELECT, and the  
accompanying FOUND_ROWS() function? http://dev.mysql.com/doc/refman/ 
5.0/en/information-functions.html
 It will tell you the total number of rows which would have been  
found if you hadn't used a LIMIT clause.  I think it is a connection- 
specific function; if you created a second statement handle and did a  
SELECT FOUND_ROWS() on the same connection, perhaps that would give  
what you want.



Douglas Sims
[EMAIL PROTECTED]




On Sep 6, 2006, at 11:29 PM, [EMAIL PROTECTED]  
[EMAIL PROTECTED] wrote:




Hi Dan,

Thanks for yur response. Does it makes sense to create an index on a
primary key ..as that is my smallest field ?

Regards
Prasad

-Original Message-
From: Dan Nelson [mailto:[EMAIL PROTECTED]
Sent: Monday, September 04, 2006 9:53 AM
To: Prasad Ramisetti (WT01 - Broadband Networks)
Cc: [EMAIL PROTECTED]; mysql@lists.mysql.com
Subject: Re: problem with InnoDB

In the last episode (Sep 04), [EMAIL PROTECTED] said:
Actually there is some requirement, where I need to know the  
number of



rows that I will get for my queries before actually executing the
query. Could you please suggest some way for this.


Your best bet is to create an index on the smallest column you can  
find

(maybe even create a char(1) and leave it empty), and SELECT COUNT(*)
FROM innotable USE INDEX (smallcolumn).  That way mysql only has to
scan a small secondary index instead of the main table index.

--
Dan Nelson
[EMAIL PROTECTED]


The information contained in this electronic message and any  
attachments to this message are intended for the exclusive use of  
the addressee(s) and may contain proprietary, confidential or  
privileged information. If you are not the intended recipient, you  
should not disseminate, distribute or copy this e-mail. Please  
notify the sender immediately and destroy all copies of this  
message and any attachments.


WARNING: Computer viruses can be transmitted via email. The  
recipient should check this email and any attachments for the  
presence of viruses. The company accepts no liability for any  
damage caused by any virus transmitted by this email.


www.wipro.com

--
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: problem with InnoDB

2006-09-06 Thread Dan Nelson
In the last episode (Sep 07), [EMAIL PROTECTED] said:
 Hi Dan,
 
 Thanks for yur response. Does it makes sense to create an index on a
 primary key ..as that is my smallest field ?

It might, because in an InnoDB table, your primary index also holds
your row data.  So it's actually your largest index.  A full scan of a
secondary index on your primary key may very well run faster than a
scan of the primary index itself, for the purposes of SELECT
COUNT(*).  Best way to find out is to try it :)

-- 
Dan Nelson
[EMAIL PROTECTED]

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



RE: problem with InnoDB

2006-09-03 Thread prasad.ramisetti

Hi Chris,

Thanks for your response.

Actually there is some requirement, where I need to know the number of
rows that I will get for my queries before actually executing the query.
Could you please suggest some way for this.

Thanks
Prasad

-Original Message-
From: Chris [mailto:[EMAIL PROTECTED]
Sent: Wednesday, August 16, 2006 9:58 AM
To: Prasad Ramisetti (WT01 - Broadband Networks)
Cc: mysql@lists.mysql.com
Subject: Re: problem with InnoDB

[EMAIL PROTECTED] wrote:
 Hi ,


 select count(*) is painfully slow in case of innoDB when the number of

 records are around 1 million. Ths select count(*) query in myISAM
 takes
 0.01 secs and the same query in InnoDB takes around 20.15 secs.


 Can anybody suggest me how to speed up this query ?

You can't.

InnoDB is transactional which means it can't keep basic information like
the number of rows it has up to date (which means any number of inserts/
updates/deletes can happen at one time).

MyISAM is not transactional (so only one insert/update/delete can happen
at one time) so it can keep this information.


What context are you trying to do a count in? Maybe it would be better
to have an extra field in another table and keep that counter up to
date?

I know this relates to postgresql but the same idea could be useful for
you:

http://www.designmagick.com/article/36/


The information contained in this electronic message and any attachments to 
this message are intended for the exclusive use of the addressee(s) and may 
contain proprietary, confidential or privileged information. If you are not the 
intended recipient, you should not disseminate, distribute or copy this e-mail. 
Please notify the sender immediately and destroy all copies of this message and 
any attachments.

WARNING: Computer viruses can be transmitted via email. The recipient should 
check this email and any attachments for the presence of viruses. The company 
accepts no liability for any damage caused by any virus transmitted by this 
email.

www.wipro.com

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



Re: problem with InnoDB

2006-09-03 Thread Dan Nelson
In the last episode (Sep 04), [EMAIL PROTECTED] said:
 Actually there is some requirement, where I need to know the number
 of rows that I will get for my queries before actually executing the
 query. Could you please suggest some way for this.

Your best bet is to create an index on the smallest column you can find
(maybe even create a char(1) and leave it empty), and SELECT COUNT(*)
FROM innotable USE INDEX (smallcolumn).  That way mysql only has to
scan a small secondary index instead of the main table index.

-- 
Dan Nelson
[EMAIL PROTECTED]

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



RE: Problem with INNODB transactions

2006-08-23 Thread Robert DiFalco
What connection pool code are you using? My guess is that the problem is
in your code somewhere. Either transactions are not being closed (i.e.
because of a connection pool flaw maybe?) or you have two threads trying
to update the same row at the same time (in which case this would be
expected behavior).

R. 

-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] 
Sent: Wednesday, August 23, 2006 9:31 AM
To: mysql@lists.mysql.com
Subject: Problem with INNODB transactions


Hi,


I am facing a strange problem with INNODB. My application communicates
with mysql server using JDBC. I am using mysql 5.1 version.


Even after issuing connection.commit() / connection.rollback() commands,
still on the sql side the transactions are not getting closed properly.
In our application we never try to acquire locks on the same row from
different threads. A request is sent only when the previous transaction
is closed by issuing commit or rollback. But still the following error
is seen :


Lock wait timeout exceeded; try restarting transaction.


The transaction isolation level used is READ-COMMITTED. We maintain a
database connection pool and try to reuse the connections from the pool
instead of trying to close and create the connections everytime. In our
application there is a continuous database updates happening at a very
high rate.


Could you please suggest what could be going wrong.


Thanks
Prasad





The information contained in this electronic message and any attachments
to this message are intended for the exclusive use of the addressee(s)
and may contain proprietary, confidential or privileged information. If
you are not the intended recipient, you should not disseminate,
distribute or copy this e-mail. Please notify the sender immediately and
destroy all copies of this message and any attachments.


WARNING: Computer viruses can be transmitted via email. The recipient
should check this email and any attachments for the presence of viruses.
The company accepts no liability for any damage caused by any virus
transmitted by this email.


www.wipro.com


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



RE: Problem with INNODB transactions

2006-08-23 Thread prasad.ramisetti

Hi,

We maintain a pool ..it is just a collection, where we maintain a list
of connections.

Regards
prasad

-Original Message-
From: Robert DiFalco [mailto:[EMAIL PROTECTED]
Sent: Wednesday, August 23, 2006 11:41 PM
To: Prasad Ramisetti (WT01 - Broadband Networks); mysql@lists.mysql.com
Subject: RE: Problem with INNODB transactions

What connection pool code are you using? My guess is that the problem is
in your code somewhere. Either transactions are not being closed (i.e.
because of a connection pool flaw maybe?) or you have two threads trying
to update the same row at the same time (in which case this would be
expected behavior).

R.

-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
Sent: Wednesday, August 23, 2006 9:31 AM
To: mysql@lists.mysql.com
Subject: Problem with INNODB transactions


Hi,


I am facing a strange problem with INNODB. My application communicates
with mysql server using JDBC. I am using mysql 5.1 version.


Even after issuing connection.commit() / connection.rollback() commands,
still on the sql side the transactions are not getting closed properly.
In our application we never try to acquire locks on the same row from
different threads. A request is sent only when the previous transaction
is closed by issuing commit or rollback. But still the following error
is seen :


Lock wait timeout exceeded; try restarting transaction.


The transaction isolation level used is READ-COMMITTED. We maintain a
database connection pool and try to reuse the connections from the pool
instead of trying to close and create the connections everytime. In our
application there is a continuous database updates happening at a very
high rate.


Could you please suggest what could be going wrong.


Thanks
Prasad





The information contained in this electronic message and any attachments
to this message are intended for the exclusive use of the addressee(s)
and may contain proprietary, confidential or privileged information. If
you are not the intended recipient, you should not disseminate,
distribute or copy this e-mail. Please notify the sender immediately and
destroy all copies of this message and any attachments.


WARNING: Computer viruses can be transmitted via email. The recipient
should check this email and any attachments for the presence of viruses.
The company accepts no liability for any damage caused by any virus
transmitted by this email.


www.wipro.com



The information contained in this electronic message and any attachments to 
this message are intended for the exclusive use of the addressee(s) and may 
contain proprietary, confidential or privileged information. If you are not the 
intended recipient, you should not disseminate, distribute or copy this e-mail. 
Please notify the sender immediately and destroy all copies of this message and 
any attachments.

WARNING: Computer viruses can be transmitted via email. The recipient should 
check this email and any attachments for the presence of viruses. The company 
accepts no liability for any damage caused by any virus transmitted by this 
email.

www.wipro.com

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



RE: problem with InnoDB

2006-08-16 Thread prasad.ramisetti



Hi,

There is a problem with CPU utlization when using INNODB. The CPU
utilization goes to 100% in a dual processor solaris box. With the same
setup, myISAM uses only 60% of the CPU.

Could someone please let me know what could be the problem. There are
some other processes running on the same box.


The information contained in this electronic message and any attachments to 
this message are intended for the exclusive use of the addressee(s) and may 
contain proprietary, confidential or privileged information. If you are not the 
intended recipient, you should not disseminate, distribute or copy this e-mail. 
Please notify the sender immediately and destroy all copies of this message and 
any attachments.

WARNING: Computer viruses can be transmitted via email. The recipient should 
check this email and any attachments for the presence of viruses. The company 
accepts no liability for any damage caused by any virus transmitted by this 
email.

www.wipro.com

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



RE: problem with InnoDB

2006-08-16 Thread prasad.ramisetti



Hi,

There is a problem with CPU utlization when using INNODB. The CPU
utilization goes to 100% in a dual processor solaris box. With the same
setup, myISAM uses only 60% of the CPU.

Could someone please let me know what could be the problem. There are
some other processes running on the same box. So it is making the other
processes slower.

Thanks
Prasad


The information contained in this electronic message and any attachments to 
this message are intended for the exclusive use of the addressee(s) and may 
contain proprietary, confidential or privileged information. If you are not the 
intended recipient, you should not disseminate, distribute or copy this e-mail. 
Please notify the sender immediately and destroy all copies of this message and 
any attachments.

WARNING: Computer viruses can be transmitted via email. The recipient should 
check this email and any attachments for the presence of viruses. The company 
accepts no liability for any damage caused by any virus transmitted by this 
email.

www.wipro.com

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



Re: problem with InnoDB

2006-08-16 Thread Chris

[EMAIL PROTECTED] wrote:



Hi,

There is a problem with CPU utlization when using INNODB. The CPU
utilization goes to 100% in a dual processor solaris box. With the same
setup, myISAM uses only 60% of the CPU.


As I said before, stuff like 'count(*)' queries cannot use an index in 
innodb - if you are doing a lot of those type of queries, it will cause 
a problem. Others include max(), min() (any aggregate function actually).


http://dev.mysql.com/doc/refman/5.1/en/innodb-tuning.html


The easiest way to work out what queries are causing the problem is to 
enable the slow-log and go through that, 'explain'ing each query and 
adding indexes where necessary.


http://dev.mysql.com/doc/refman/5.1/en/slow-query-log.html

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



Re: problem with InnoDB

2006-08-15 Thread Chris

[EMAIL PROTECTED] wrote:

Hi ,


select count(*) is painfully slow in case of innoDB when the number of
records are around 1 million. Ths select count(*) query in myISAM takes
0.01 secs and the same query in InnoDB takes around 20.15 secs.


Can anybody suggest me how to speed up this query ?


You can't.

InnoDB is transactional which means it can't keep basic information like 
the number of rows it has up to date (which means any number of inserts/ 
updates/deletes can happen at one time).


MyISAM is not transactional (so only one insert/update/delete can happen 
at one time) so it can keep this information.



What context are you trying to do a count in? Maybe it would be better 
to have an extra field in another table and keep that counter up to date?


I know this relates to postgresql but the same idea could be useful for you:

http://www.designmagick.com/article/36/

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



Re: Problem on InnoDB - Tablespace enough but engine said table full

2004-09-04 Thread Ady Wicaksono
Heiki
 
Thx... it's work :D
 
Sorry, one liner

Heikki Tuuri [EMAIL PROTECTED] wrote:
Ady,

- Alkuperäinen viesti - 
Lähettäjä: Ady Wicaksono 
Vastaanottaja: Ady Wicaksono ; Heikki Tuuri

Kopio: 
Lähetetty: Friday, September 03, 2004 10:41 AM
Aihe: Re: Problem on InnoDB - Tablespace enough but engine said table full


 I try to detect using MC (Midnight Commander) and found that after
;/data4/ibdata25:1802M

 it won't write anymore...

 I remove these data file and add /ibdata1/ibdata10:1500M and
/data1/ibdata11:1500M

 I believe, All data below is empty but corrupt :(

  data file defintion --
 #/data4/ibdata25.data3:576M;/data1/ibdata10:1500M;

#/data1/ibdata11:1500M;/data1/ibdata12:1500M;/data1/ibdata13:1500M;/data2/ib
data14:1500M;/data2/ibdata15:1500M;/data2/ibdata16

:1500M;/data2/ibdata17:1500M;/data2/ibdata18:1500M;/data2/ibdata19:1500M;/da
ta3/ibdata20:1500M;/data3/ibdata21:1500M;/data3/ib
 data22:1500M;/data3/ibdata23:1500M;/data3/ibdata24:1500M;
 --- data file defintion --

 I change my innodb_data_file_path to:

 innodb_data_file_path =
/data0/ibdata1:10M;/data0/ibdata2:10M;/data0/ibdata3:1082M;/data0/ibdata4:15
00M;/data0/ibdata5:1500M;/

data0/ibdata6:1500M;/data0/ibdata7:1500M;/data1/ibdata8:1500M;/data1/ibdata9
:1500M;/data4/ibdata25:1802M;/data1/ibdata10:1500M
 ;/data1/ibdata11:1500M

 It's working since i know i have 877184 pages now, later i simply add
something like /data1/ibdata12:1500M

 but, i still have error when starting, here is

 InnoDB: Error: tablespace size stored in header is 877184 pages, but
 InnoDB: the sum of data file sizes is 953856 pages

 How to fix it ? since i found every data in innodb_data_file_path is not
empty

(953856 - 877184) / 64 = 1198 MB

1) Stop the mysqld server.
2) Add a new 1198M ibdata file at the end of innodb_data_file_path.
3) When you start mysqld, InnoDB will write that new ibdata file full of
zeros, and increment the tablespace size stored in the tablespace header by
1198M.
4) Then stop the mysqld server, remove the extra 1198M ibdata file from
innodb_data_file_path and delete that extra ibdata file.
5) Start mysqld again.
6) Voila! Now the tablespace size stored in the tablespace header agrees
with the combined size of the files in innodb_data_file_path!

Be very careful! From now on always follow the instructions at
http://dev.mysql.com/doc/mysql/en/Adding_and_removing.html
when you want to add a new ibdata file.

 Thx

Best regards,

Heikki
Innobase Oy
InnoDB - transactions, row level locking, and foreign keys for MySQL
InnoDB Hot Backup - a hot backup tool for InnoDB which also backs up MyISAM
tables
http://www.innodb.com/order.php


-
Do you Yahoo!?
Win 1 of 4,000 free domain names from Yahoo! Enter now.

Re: Problem on InnoDB - Tablespace enough but engine said table full

2004-09-03 Thread Ady Wicaksono
I try to detect using MC (Midnight Commander)  and found that after 
;/data4/ibdata25:1802M
 
it won't write anymore... 
 
I remove these data file and add /ibdata1/ibdata10:1500M and /data1/ibdata11:1500M
 
I believe, All data below is empty but corrupt :(
 
 data file defintion --
#/data4/ibdata25.data3:576M;/data1/ibdata10:1500M;
#/data1/ibdata11:1500M;/data1/ibdata12:1500M;/data1/ibdata13:1500M;/data2/ibdata14:1500M;/data2/ibdata15:1500M;/data2/ibdata16
:1500M;/data2/ibdata17:1500M;/data2/ibdata18:1500M;/data2/ibdata19:1500M;/data3/ibdata20:1500M;/data3/ibdata21:1500M;/data3/ib
data22:1500M;/data3/ibdata23:1500M;/data3/ibdata24:1500M;
--- data file defintion --
 
I change my innodb_data_file_path to:
 
innodb_data_file_path = 
/data0/ibdata1:10M;/data0/ibdata2:10M;/data0/ibdata3:1082M;/data0/ibdata4:1500M;/data0/ibdata5:1500M;/
data0/ibdata6:1500M;/data0/ibdata7:1500M;/data1/ibdata8:1500M;/data1/ibdata9:1500M;/data4/ibdata25:1802M;/data1/ibdata10:1500M
;/data1/ibdata11:1500M

It's working since i know i have 877184 pages now, later i simply add something like 
/data1/ibdata12:1500M
 
but, i still have error when starting, here is
 
InnoDB: Error: tablespace size stored in header is 877184 pages, but
InnoDB: the sum of data file sizes is 953856 pages

How to fix it ? since i found every data in innodb_data_file_path is not empty
 
Thx
 
 


Ady Wicaksono [EMAIL PROTECTED] wrote:
May i know, how could i know which of the data files that InnoDB MySQL engine is not 
used ?

Did i i made a mistake when adding table space ?

Heikki Tuuri wrote: 
Ady,

InnoDB thinks that the tablespace size is 10 706 MB.

You have specified 36 782 MB of data files in the my.cnf line :(.

Now you should figure out what are the data files that InnoDB is using, and
remove the end of the innodb_data_file_path line, as well as the unused
ibdata files. Remember that InnoDB uses data files starting from the first,
in the order that you list them in innodb_data_file_path.

Be very careful! Do not remove your valuable data!

After that, you can grow the tablespace as instructed at
http://dev.mysql.com/doc/mysql/en/Adding_and_removing.html

Best regards,

Heikki
Innobase Oy
InnoDB - transactions, row level locking, and foreign keys for MySQL
InnoDB Hot Backup - a hot backup tool for InnoDB which also backs up MyISAM
tables
http://www.innodb.com/order.php

Order MySQL support from http://www.mysql.com/support/index.html

.

I have MySQL for heavy duty job .

here is my InnoDB table space definition


innodb_data_file_path = \
/data0/ibdata1:10M;/data0/ibdata2:10M;/data0/ibdata3:1082M;/data0/ibdata4:15
00M;/data0 \
/ibdata5:1500M;/
data0/ibdata6:1500M;/data0/ibdata7:1500M;/data1/ibdata8:1500M;/data1/ \
ibdata9:1500M;/data4/ibdata25:1802M;/data3/ibdata25:1802M \
;/data4/ibdata25.data3:576M;/data1/ibdata10:1500M;/data1/ibdata11:1500M;/dat
a1/ibdata1 \
2:1500M;/data1/ibdata13:1500M;/data2/ibd \
ata14:1500M;/data2/ibdata15:1500M;/data2/ibdata16:1500M;/data2/ibdata17:1500
M;/data2/i \
bdata18:1500M;/data2/ibdata19:1500M;/dat \
a3/ibdata20:1500M;/data3/ibdata21:1500M;/data3/ibdata22:1500M;/data3/ibdata2
3:1500M;/d \
ata3/ibdata24:1500M;


What i don't understand is :

after ibdata1 - ibdata9 full is go to /data4/ibdata25 ... (1802Mbyte)

But it's not continues to write to /data4/ibdata25.data3... /data1/ibdata10
and so on

but said table  is full when i try to write data to table

The question is why ?

Secondly



What is the meaning of

InnoDB: Error: tablespace size stored in header is 685184 pages, but
InnoDB: the sum of data file sizes is 2354048 pages


Thx


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




-
Do you Yahoo!?
Yahoo! Mail - 50x more storage than other providers!

-
Do you Yahoo!?
Read only the mail you want - Yahoo! Mail SpamGuard.

Re: Problem on InnoDB - Tablespace enough but engine said table full

2004-09-03 Thread Heikki Tuuri
Ady,

- Alkuperäinen viesti - 
Lähettäjä: Ady Wicaksono [EMAIL PROTECTED]
Vastaanottaja: Ady Wicaksono [EMAIL PROTECTED]; Heikki Tuuri
[EMAIL PROTECTED]
Kopio: [EMAIL PROTECTED]
Lähetetty: Friday, September 03, 2004 10:41 AM
Aihe: Re: Problem on InnoDB - Tablespace enough but engine said table full


 I try to detect using MC (Midnight Commander)  and found that after
;/data4/ibdata25:1802M

 it won't write anymore...

 I remove these data file and add /ibdata1/ibdata10:1500M and
/data1/ibdata11:1500M

 I believe, All data below is empty but corrupt :(

  data file defintion --
 #/data4/ibdata25.data3:576M;/data1/ibdata10:1500M;

#/data1/ibdata11:1500M;/data1/ibdata12:1500M;/data1/ibdata13:1500M;/data2/ib
data14:1500M;/data2/ibdata15:1500M;/data2/ibdata16

:1500M;/data2/ibdata17:1500M;/data2/ibdata18:1500M;/data2/ibdata19:1500M;/da
ta3/ibdata20:1500M;/data3/ibdata21:1500M;/data3/ib
 data22:1500M;/data3/ibdata23:1500M;/data3/ibdata24:1500M;
 --- data file defintion --

 I change my innodb_data_file_path to:

 innodb_data_file_path =
/data0/ibdata1:10M;/data0/ibdata2:10M;/data0/ibdata3:1082M;/data0/ibdata4:15
00M;/data0/ibdata5:1500M;/

data0/ibdata6:1500M;/data0/ibdata7:1500M;/data1/ibdata8:1500M;/data1/ibdata9
:1500M;/data4/ibdata25:1802M;/data1/ibdata10:1500M
 ;/data1/ibdata11:1500M

 It's working since i know i have 877184 pages now, later i simply add
something like /data1/ibdata12:1500M

 but, i still have error when starting, here is

 InnoDB: Error: tablespace size stored in header is 877184 pages, but
 InnoDB: the sum of data file sizes is 953856 pages

 How to fix it ? since i found every data in innodb_data_file_path is not
empty

(953856 - 877184) / 64 = 1198 MB

1) Stop the mysqld server.
2) Add a new 1198M ibdata file at the end of  innodb_data_file_path.
3) When  you start mysqld, InnoDB will write that new ibdata file full of
zeros, and increment the tablespace size stored in  the tablespace header by
1198M.
4) Then stop the mysqld server, remove the extra 1198M ibdata file from
innodb_data_file_path and delete that extra ibdata file.
5) Start mysqld again.
6) Voila! Now the tablespace size stored in the tablespace header agrees
with the combined size of the files in innodb_data_file_path!

Be very careful! From now on always follow the instructions at
http://dev.mysql.com/doc/mysql/en/Adding_and_removing.html
when you want to add a new ibdata file.

 Thx

Best regards,

Heikki
Innobase Oy
InnoDB - transactions, row level locking, and foreign keys for MySQL
InnoDB Hot Backup - a hot backup tool for InnoDB which also backs up MyISAM
tables
http://www.innodb.com/order.php

Order MySQL support from http://www.mysql.com/support/index.html


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



Re: Problem on InnoDB - Tablespace enough but engine said table full

2004-09-02 Thread Heikki Tuuri
Ady,

InnoDB thinks that the tablespace size is 10 706 MB.

You have specified 36 782 MB of data files in the my.cnf line :(.

Now you should figure out what are the data files that InnoDB is using, and
remove the end of the innodb_data_file_path line, as well as the unused
ibdata files. Remember that InnoDB uses data files starting from the first,
in the order that you list them in innodb_data_file_path.

Be very careful! Do not remove your valuable data!

After that, you can grow the tablespace as instructed at
http://dev.mysql.com/doc/mysql/en/Adding_and_removing.html

Best regards,

Heikki
Innobase Oy
InnoDB - transactions, row level locking, and foreign keys for MySQL
InnoDB Hot Backup - a hot backup tool for InnoDB which also backs up MyISAM
tables
http://www.innodb.com/order.php

Order MySQL support from http://www.mysql.com/support/index.html

.

I have MySQL for heavy duty job .

here is my InnoDB table space definition


innodb_data_file_path = \
/data0/ibdata1:10M;/data0/ibdata2:10M;/data0/ibdata3:1082M;/data0/ibdata4:15
00M;/data0 \
/ibdata5:1500M;/
data0/ibdata6:1500M;/data0/ibdata7:1500M;/data1/ibdata8:1500M;/data1/ \
ibdata9:1500M;/data4/ibdata25:1802M;/data3/ibdata25:1802M \
;/data4/ibdata25.data3:576M;/data1/ibdata10:1500M;/data1/ibdata11:1500M;/dat
a1/ibdata1 \
2:1500M;/data1/ibdata13:1500M;/data2/ibd \
ata14:1500M;/data2/ibdata15:1500M;/data2/ibdata16:1500M;/data2/ibdata17:1500
M;/data2/i \
bdata18:1500M;/data2/ibdata19:1500M;/dat \
a3/ibdata20:1500M;/data3/ibdata21:1500M;/data3/ibdata22:1500M;/data3/ibdata2
3:1500M;/d \
ata3/ibdata24:1500M;


What i don't understand is :

after ibdata1 - ibdata9 full is go to /data4/ibdata25 ... (1802Mbyte)

But it's not continues to write to /data4/ibdata25.data3... /data1/ibdata10
and so on

but said table  is full when i try to write data to table

The question is why ?

Secondly



What is the meaning of

InnoDB: Error: tablespace size stored in header is 685184 pages, but
InnoDB: the sum of data file sizes is 2354048 pages


Thx


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



Re: Problem on InnoDB - Tablespace enough but engine said table full

2004-09-02 Thread Ady Wicaksono
May i know, how could i know which of the data files that InnoDB MySQL engine is not 
used ?
 
Did i i made a mistake when adding table space ?

Heikki Tuuri [EMAIL PROTECTED] wrote: 
Ady,

InnoDB thinks that the tablespace size is 10 706 MB.

You have specified 36 782 MB of data files in the my.cnf line :(.

Now you should figure out what are the data files that InnoDB is using, and
remove the end of the innodb_data_file_path line, as well as the unused
ibdata files. Remember that InnoDB uses data files starting from the first,
in the order that you list them in innodb_data_file_path.

Be very careful! Do not remove your valuable data!

After that, you can grow the tablespace as instructed at
http://dev.mysql.com/doc/mysql/en/Adding_and_removing.html

Best regards,

Heikki
Innobase Oy
InnoDB - transactions, row level locking, and foreign keys for MySQL
InnoDB Hot Backup - a hot backup tool for InnoDB which also backs up MyISAM
tables
http://www.innodb.com/order.php

Order MySQL support from http://www.mysql.com/support/index.html

.

I have MySQL for heavy duty job .

here is my InnoDB table space definition


innodb_data_file_path = \
/data0/ibdata1:10M;/data0/ibdata2:10M;/data0/ibdata3:1082M;/data0/ibdata4:15
00M;/data0 \
/ibdata5:1500M;/
data0/ibdata6:1500M;/data0/ibdata7:1500M;/data1/ibdata8:1500M;/data1/ \
ibdata9:1500M;/data4/ibdata25:1802M;/data3/ibdata25:1802M \
;/data4/ibdata25.data3:576M;/data1/ibdata10:1500M;/data1/ibdata11:1500M;/dat
a1/ibdata1 \
2:1500M;/data1/ibdata13:1500M;/data2/ibd \
ata14:1500M;/data2/ibdata15:1500M;/data2/ibdata16:1500M;/data2/ibdata17:1500
M;/data2/i \
bdata18:1500M;/data2/ibdata19:1500M;/dat \
a3/ibdata20:1500M;/data3/ibdata21:1500M;/data3/ibdata22:1500M;/data3/ibdata2
3:1500M;/d \
ata3/ibdata24:1500M;


What i don't understand is :

after ibdata1 - ibdata9 full is go to /data4/ibdata25 ... (1802Mbyte)

But it's not continues to write to /data4/ibdata25.data3... /data1/ibdata10
and so on

but said table  is full when i try to write data to table

The question is why ?

Secondly



What is the meaning of

InnoDB: Error: tablespace size stored in header is 685184 pages, but
InnoDB: the sum of data file sizes is 2354048 pages


Thx


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




-
Do you Yahoo!?
Yahoo! Mail - 50x more storage than other providers!

Re: Problem getting innodb enabled ...

2004-07-13 Thread Hugh Taylor
Sorry, I should have included it originally. These are the only lines 
referencing innodb that I can find.

# Uncomment the following if you are using InnoDB tables
innodb_data_home_dir = /var/lib/mysql/
innodb_data_file_path = ibdata1:10M:autoextend
innodb_log_group_home_dir = /var/lib/mysql/
innodb_log_arch_dir = /var/lib/mysql/
# You can set .._buffer_pool_size up to 50 - 80 %
# of RAM but beware of setting memory usage too high
innodb_buffer_pool_size = 16M
innodb_additional_mem_pool_size = 2M
# Set .._log_file_size to 25 % of buffer pool size
innodb_log_file_size = 5M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50
This is how it looks when I try to enable innodb, however, MySQL won't 
start with them uncommented, but it runs fine when I comment them out.

--
Hugh
mailto: [EMAIL PROTECTED]
Victor Pendleton wrote:
Can you post the exact syntax from your my.cnf file? 

-Original Message-
From: Hugh Taylor
To: [EMAIL PROTECTED]
Sent: 7/12/04 3:17 PM
Subject: Problem getting innodb enabled ...
Running MySQL 4.0.15 on SuSE 9 Professional. MySQL works fine until I 
try to allow innodb by uncommenting the lines in the my.cnf file. Once I

do this MySQLwill not start, the error message in the log is:
040712 15:25:39  mysqld started
/usr/sbin/mysqld: ERROR: unknown variable 
'innodb_data_home_dir=/var/lib/mysql/'
040712 15:25:39  mysqld ended

I found one thread in the SuSE listserv where someone fixed the problem
by deleting all the files and directories in /var/lib/mysql except mysql
and test, but that didn't work for me. The file permissions on 
/var/lib/mysql are:

drwxr-xr-x9 mysqldaemon544 2004-07-12 15:58 mysql
and
drwxr-xr-x9 mysqldaemon544 2004-07-12 15:58 .
drwxr-xr-x   41 root root 1056 2004-07-12 15:12 ..
drwx--2 mysqldaemon576 2004-07-12 11:12
CPIAInventory
drwx--2 mysqldaemon  17976 2004-02-26 08:50 egroupware
drwx--2 mysqldaemon336 2004-06-28 16:21 EmployeeLog
drwxr-xr-x2 mysqldaemon 48 2004-07-12 15:22 innodb
drwx--2 mysqldaemon528 2003-11-12 18:13 mysql
-rw-rw1 mysqldaemon   2877 2004-07-12 15:58 mysqld.log
-rw-rw1 mysqldaemon220 2004-06-29 15:56 
mysqld.log-20040630.gz
-rw-rw1 mysqldaemon220 2004-06-30 18:20 
mysqld.log-20040701.gz
-rw-rw1 mysqldaemon284 2004-07-07 18:04 
mysqld.log-20040708.gz
-rw-rw1 mysqldaemon223 2004-07-10 08:56 
mysqld.log-20040710.gz
-rw-rw1 mysqldaemon237 2004-07-11 11:55 
mysqld.log-20040712.gz
-rw-rw1 mysqldaemon  5 2004-07-12 15:58 mysqld.pid
srwxrwxrwx1 mysqldaemon  0 2004-07-12 15:58 mysql.sock
drwx--2 mysqldaemon816 2004-06-28 15:29 phpmyadmin
drwx--2 mysqldaemon 48 2003-11-12 18:13 test

Any ideas?
(I'm also posting this to the SuSE list.)
 


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


Re: Problem getting innodb enabled ...

2004-07-13 Thread Hugh Taylor
After much searching (and trying to read non-English posts), I've 
stumbled across the solution. I installed the mysql-MAX rpm, changed the 
my.cnf file and Viola! it works!

--
Hugh
mailto: [EMAIL PROTECTED]

Hugh Taylor wrote:
Running MySQL 4.0.15 on SuSE 9 Professional. MySQL works fine until I 
try to allow innodb by uncommenting the lines in the my.cnf file. Once 
I do this MySQLwill not start, the error message in the log is:

040712 15:25:39  mysqld started
/usr/sbin/mysqld: ERROR: unknown variable 
'innodb_data_home_dir=/var/lib/mysql/'
040712 15:25:39  mysqld ended

I found one thread in the SuSE listserv where someone fixed the 
problem by deleting all the files and directories in /var/lib/mysql 
except mysql and test, but that didn't work for me. The file 
permissions on /var/lib/mysql are:

drwxr-xr-x9 mysqldaemon544 2004-07-12 15:58 mysql
and
drwxr-xr-x9 mysqldaemon544 2004-07-12 15:58 .
drwxr-xr-x   41 root root 1056 2004-07-12 15:12 ..
drwx--2 mysqldaemon576 2004-07-12 11:12 CPIAInventory
drwx--2 mysqldaemon  17976 2004-02-26 08:50 egroupware
drwx--2 mysqldaemon336 2004-06-28 16:21 EmployeeLog
drwxr-xr-x2 mysqldaemon 48 2004-07-12 15:22 innodb
drwx--2 mysqldaemon528 2003-11-12 18:13 mysql
-rw-rw1 mysqldaemon   2877 2004-07-12 15:58 mysqld.log
-rw-rw1 mysqldaemon220 2004-06-29 15:56 
mysqld.log-20040630.gz
-rw-rw1 mysqldaemon220 2004-06-30 18:20 
mysqld.log-20040701.gz
-rw-rw1 mysqldaemon284 2004-07-07 18:04 
mysqld.log-20040708.gz
-rw-rw1 mysqldaemon223 2004-07-10 08:56 
mysqld.log-20040710.gz
-rw-rw1 mysqldaemon237 2004-07-11 11:55 
mysqld.log-20040712.gz
-rw-rw1 mysqldaemon  5 2004-07-12 15:58 mysqld.pid
srwxrwxrwx1 mysqldaemon  0 2004-07-12 15:58 mysql.sock
drwx--2 mysqldaemon816 2004-06-28 15:29 phpmyadmin
drwx--2 mysqldaemon 48 2003-11-12 18:13 test

Any ideas?
(I'm also posting this to the SuSE list.)

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


RE: Problem getting innodb enabled ...

2004-07-12 Thread Victor Pendleton
Can you post the exact syntax from your my.cnf file? 

-Original Message-
From: Hugh Taylor
To: [EMAIL PROTECTED]
Sent: 7/12/04 3:17 PM
Subject: Problem getting innodb enabled ...

Running MySQL 4.0.15 on SuSE 9 Professional. MySQL works fine until I 
try to allow innodb by uncommenting the lines in the my.cnf file. Once I

do this MySQLwill not start, the error message in the log is:

040712 15:25:39  mysqld started
/usr/sbin/mysqld: ERROR: unknown variable 
'innodb_data_home_dir=/var/lib/mysql/'
040712 15:25:39  mysqld ended

 I found one thread in the SuSE listserv where someone fixed the problem

by deleting all the files and directories in /var/lib/mysql except mysql

and test, but that didn't work for me. The file permissions on 
/var/lib/mysql are:

drwxr-xr-x9 mysqldaemon544 2004-07-12 15:58 mysql

and

drwxr-xr-x9 mysqldaemon544 2004-07-12 15:58 .
drwxr-xr-x   41 root root 1056 2004-07-12 15:12 ..
drwx--2 mysqldaemon576 2004-07-12 11:12
CPIAInventory
drwx--2 mysqldaemon  17976 2004-02-26 08:50 egroupware
drwx--2 mysqldaemon336 2004-06-28 16:21 EmployeeLog
drwxr-xr-x2 mysqldaemon 48 2004-07-12 15:22 innodb
drwx--2 mysqldaemon528 2003-11-12 18:13 mysql
-rw-rw1 mysqldaemon   2877 2004-07-12 15:58 mysqld.log
-rw-rw1 mysqldaemon220 2004-06-29 15:56 
mysqld.log-20040630.gz
-rw-rw1 mysqldaemon220 2004-06-30 18:20 
mysqld.log-20040701.gz
-rw-rw1 mysqldaemon284 2004-07-07 18:04 
mysqld.log-20040708.gz
-rw-rw1 mysqldaemon223 2004-07-10 08:56 
mysqld.log-20040710.gz
-rw-rw1 mysqldaemon237 2004-07-11 11:55 
mysqld.log-20040712.gz
-rw-rw1 mysqldaemon  5 2004-07-12 15:58 mysqld.pid
srwxrwxrwx1 mysqldaemon  0 2004-07-12 15:58 mysql.sock
drwx--2 mysqldaemon816 2004-06-28 15:29 phpmyadmin
drwx--2 mysqldaemon 48 2003-11-12 18:13 test

Any ideas?

(I'm also posting this to the SuSE list.)

-- 

Hugh
mailto: [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: Re: Problem creating InnoDB tables.

2002-11-08 Thread Victoria Reznichenko
David,
Wednesday, November 06, 2002, 10:00:45 PM, you wrote:

DAF - Original Message -
DAF From: Victoria Reznichenko [EMAIL PROTECTED]
DAF To: [EMAIL PROTECTED]
DAF Sent: Wednesday, November 06, 2002 11:47 AM
DAF Subject: re: Problem creating InnoDB tables.


 David,
 Tuesday, November 05, 2002, 4:05:57 PM, you wrote:

 DAF I'm have trouble creating InnoDB tables.  I'm using MySQL version
 DAF 3.32.51-max.  I have innodb_data_file_path = ibdata1:30M:autoextend
DAF in my
 DAF my.ini file.  According to the manual, I should be able to use and
DAF create
 DAF InnoDB tables.  When I specify type = InnoDB in my table creation
 DAF statement, MySQL doesn't give me any errors, but when I use show
DAF table
 DAF status;, the tables show up as MyISAM.  Any help would be
DAF appreciated.

 Use SHOW VARIABLES LIKE have_% to see if InnoDB is enabled.

DAF I did that, and across from have_innodb it says NO.  How could I enable
DAF InnoDB?

How did you run MySQL server? Which file of mysqld-*.exe did you run?


-- 
For technical support contracts, goto https://order.mysql.com/?ref=ensita
This email is sponsored by Ensita.net http://www.ensita.net/
   __  ___ ___   __
  /  |/  /_ __/ __/ __ \/ /Victoria Reznichenko
 / /|_/ / // /\ \/ /_/ / /__   [EMAIL PROTECTED]
/_/  /_/\_, /___/\___\_\___/   MySQL AB / Ensita.net
   ___/   www.mysql.com





-
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/   (the list archive)

To request this thread, e-mail [EMAIL PROTECTED]
To unsubscribe, e-mail [EMAIL PROTECTED]
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php




re: Problem creating InnoDB tables.

2002-11-06 Thread Victoria Reznichenko
David,
Tuesday, November 05, 2002, 4:05:57 PM, you wrote:

DAF I'm have trouble creating InnoDB tables.  I'm using MySQL version
DAF 3.32.51-max.  I have innodb_data_file_path = ibdata1:30M:autoextend in my
DAF my.ini file.  According to the manual, I should be able to use and create
DAF InnoDB tables.  When I specify type = InnoDB in my table creation
DAF statement, MySQL doesn't give me any errors, but when I use show table
DAF status;, the tables show up as MyISAM.  Any help would be appreciated.

Use SHOW VARIABLES LIKE have_% to see if InnoDB is enabled.


-- 
For technical support contracts, goto https://order.mysql.com/?ref=ensita
This email is sponsored by Ensita.net http://www.ensita.net/
   __  ___ ___   __
  /  |/  /_ __/ __/ __ \/ /Victoria Reznichenko
 / /|_/ / // /\ \/ /_/ / /__   [EMAIL PROTECTED]
/_/  /_/\_, /___/\___\_\___/   MySQL AB / Ensita.net
   ___/   www.mysql.com





-
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/   (the list archive)

To request this thread, e-mail [EMAIL PROTECTED]
To unsubscribe, e-mail [EMAIL PROTECTED]
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php




Re: Problem creating InnoDB tables.

2002-11-06 Thread David A. Frischknecht
- Original Message -
From: Victoria Reznichenko [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Wednesday, November 06, 2002 11:47 AM
Subject: re: Problem creating InnoDB tables.


 David,
 Tuesday, November 05, 2002, 4:05:57 PM, you wrote:

 DAF I'm have trouble creating InnoDB tables.  I'm using MySQL version
 DAF 3.32.51-max.  I have innodb_data_file_path = ibdata1:30M:autoextend
in my
 DAF my.ini file.  According to the manual, I should be able to use and
create
 DAF InnoDB tables.  When I specify type = InnoDB in my table creation
 DAF statement, MySQL doesn't give me any errors, but when I use show
table
 DAF status;, the tables show up as MyISAM.  Any help would be
appreciated.

 Use SHOW VARIABLES LIKE have_% to see if InnoDB is enabled.


 --
 For technical support contracts, goto https://order.mysql.com/?ref=ensita
 This email is sponsored by Ensita.net http://www.ensita.net/
__  ___ ___   __
   /  |/  /_ __/ __/ __ \/ /Victoria Reznichenko
  / /|_/ / // /\ \/ /_/ / /__   [EMAIL PROTECTED]
 /_/  /_/\_, /___/\___\_\___/   MySQL AB / Ensita.net
___/   www.mysql.com





 -
 Before posting, please check:
http://www.mysql.com/manual.php   (the manual)
http://lists.mysql.com/   (the list archive)

 To request this thread, e-mail [EMAIL PROTECTED]
 To unsubscribe, e-mail
[EMAIL PROTECTED]
 Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php

-End Original Message-

I did that, and across from have_innodb it says NO.  How could I enable
InnoDB?

-
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/   (the list archive)

To request this thread, e-mail [EMAIL PROTECTED]
To unsubscribe, e-mail [EMAIL PROTECTED]
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php