Uploading large files with mySQL

2009-07-13 Thread Daniele Development-ML
Hello,
I'm developing a web application that requires to store large files in a
MySQL database. The files can range up to 2Gb.

In my understanding the upper limit for the SQL queries (thus insert
queries) is 1GB. I'm trying, for the time being, to upload files of sizes
around 65MB, but I still get some errors - including the MySQL server has
gone away.

I followed the discussion in other post, and I properly set all the system
variables (max_allowed_packet_size, wait_timeout) to the maximum value, but
the error still occurs.

Would you suggest looking at something in particular?

For the time being, just to try this, I'm inserting the file through the
MySQL Query Browser - just not to add other possible sources of problems on
top of that.

Thanks!

Dan


Re: Uploading large files with mySQL

2009-07-13 Thread Johan De Meersman
Redesign. Do NOT store files in a database. The kind of database that's good
a storing files, is more commonly known as filesystem.


On Mon, Jul 13, 2009 at 2:08 PM, Daniele Development-ML 
daniele@googlemail.com wrote:

 Hello,
 I'm developing a web application that requires to store large files in a
 MySQL database. The files can range up to 2Gb.

 In my understanding the upper limit for the SQL queries (thus insert
 queries) is 1GB. I'm trying, for the time being, to upload files of sizes
 around 65MB, but I still get some errors - including the MySQL server has
 gone away.

 I followed the discussion in other post, and I properly set all the system
 variables (max_allowed_packet_size, wait_timeout) to the maximum value, but
 the error still occurs.

 Would you suggest looking at something in particular?

 For the time being, just to try this, I'm inserting the file through the
 MySQL Query Browser - just not to add other possible sources of problems on
 top of that.

 Thanks!

 Dan




-- 
Celsius is based on water temperature.
Fahrenheit is based on alcohol temperature.
Ergo, Fahrenheit is better than Celsius. QED.


Re: mysql select query

2009-07-13 Thread Johnny Withers
Can you show the CREATE TABLE for your REF_SEQ table?

The explain output says using where which means that MySQL will have to
post-filter rows after the storage engine retrieves them. It also means the
query may benefit from different/better indexing.


On Mon, Jul 13, 2009 at 12:04 AM, TianJing tianj...@genomics.org.cn wrote:

 i do not use text for start_postion,i use int for it. the only col which
 defined to text is characters such as ABTGDSDFSGFDG etc.

 2009/7/13 Darryle Steplight dstepli...@gmail.com

  Numeric indexing is a lot faster. You definitely shouldn't use text or
  varchar types as column types for you min and max  values. Do an ALTER
  TABLE   on any column only hold numeric values and switch them to int
  or mediumint.
 
  On Mon, Jul 13, 2009 at 12:36 AM, TianJingtianj...@genomics.org.cn
  wrote:
   sorry fo that, but i really need all cols in the table, i think the
  problem
   maybe caused by one of the col which is text type, each record of this
  col
   has 2000 characters. this makes the size of record more biger.
  
   2009/7/13 Darryle Steplight dstepli...@gmail.com
  
   You are still doing SELECT * . Do you really need to return all of the
   columns in that table or just COL1, COL2, COL5 for example. Only grab
   the columns you are actually going to use.
  
   On Mon, Jul 13, 2009 at 12:23 AM, TianJingtianj...@genomics.org.cn
   wrote:
thanks for reply,
   
i hava an index on the start_position,the min_postion and the
max_postion is
constant value, the output of the query is:
   
explain select * from REF_SEQ where START_POSITION  between 3
 and
803;
   
   
   
 
 ++-+-+---+-+-+-+--+---+-+
| id | select_type | table   | type  | possible_keys   | key
|
key_len | ref  | rows  | Extra   |
   
   
 
 ++-+-+---+-+-+-+--+---+-+
|  1 | SIMPLE  | REF_SEQ | range | index_seq_start |
  index_seq_start
|
5   | NULL | 90886 | Using where |
   
   
 
 ++-+-+---+-+-+-+--+---+-+
   
index_seq_start is the index on start_postion,
   
2009/7/13 Darryle Steplight dstepli...@gmail.com
   
1. Don't use SELECT *.  Only grab the cols that you only need. Also
make sure you have an index on min_position and max_position. After
that if your query isn't faster please show us the output of
 running
EXPLAIN select * from table_name where start_postion between
min_postion and
 max_postion .
   
On Mon, Jul 13, 2009 at 12:03 AM, JingTian
 jingtian.seu...@gmail.com
  
wrote:
 Hi all,

 i use select * from table_name where start_postion between
 min_postion
 and
 max_postion to select all the record in the ranges,
 when the ranges is very large,such as 800(about 1000 record
 in
 it),
 the
 query is so slow,

 when i use mysql administrator i find that traffic is higher when
  the
 query
 is begin,

 could you please give me some advice on how to optimization the
 query?

 thanks,

 --
 Tianjing

   
   
   
--
A: It reverses the normal flow of conversation.
Q: What's wrong with top-posting?
A: Top-posting.
Q: What's the biggest scourge on plain text email discussions?
   
   
   
--
  
  
   --
   A: It reverses the normal flow of conversation.
   Q: What's wrong with top-posting?
   A: Top-posting.
   Q: What's the biggest scourge on plain text email discussions?
  
   --
   MySQL General Mailing List
   For list archives: http://lists.mysql.com/mysql
   To unsubscribe:
http://lists.mysql.com/mysql?unsub=jingtian.seu...@gmail.com
  
  
  
  
   --
   Tianjing
  
  
 
 
 
  --
  A: It reverses the normal flow of conversation.
  Q: What's wrong with top-posting?
  A: Top-posting.
  Q: What's the biggest scourge on plain text email discussions?
 



 --
 Tianjing

 Bioinformatics Center,
 Beijing Genomics Institute,Shenzhen
 Tel:+86-755-25273851
 MSN:tianjing...@hotmail.com msn%3atianjing...@hotmail.com 
 msn%3atianjing...@hotmail.com msn%253atianjing...@hotmail.com




-- 
-
Johnny Withers
601.209.4985
joh...@pixelated.net


Re: mysql select query

2009-07-13 Thread TianJing
the REF_SEQ is defined below, the col DNA_SEQ is a string such as
ATGCGGTTA,

| REF_SEQ | CREATE TABLE `REF_SEQ` (
  `SEQ_ID` int(11) NOT NULL auto_increment,
  `REF_ID` int(11) NOT NULL,
  `START_POSITION` int(11) NOT NULL,
  `END_POSITION` int(11) NOT NULL,
  `DNA_SEQ` text,
  `DNA_QUALITY` text,
  PRIMARY KEY  (`SEQ_ID`),
  KEY `index_ref_start` (`REF_ID`,`START_POSITION`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 |

i create a index on cols REF_ID and START_POSITION, i also use analyze table
REF_SEQ to optimization the query,
and now the explain output is:


mysql explain select * from REF_SEQ where START_POSITION  between 3 and
803;
++-+-+--+---+--+-+--++-+
| id | select_type | table   | type | possible_keys | key  | key_len | ref
| rows   | Extra   |
++-+-+--+---+--+-+--++-+
|  1 | SIMPLE  | REF_SEQ | ALL  | NULL  | NULL | NULL| NULL
| 219728 | Using where |
++-+-+--+---+--+-+--++-+




2009/7/13 Johnny Withers joh...@pixelated.net

 Can you show the CREATE TABLE for your REF_SEQ table?

 The explain output says using where which means that MySQL will have to
 post-filter rows after the storage engine retrieves them. It also means the
 query may benefit from different/better indexing.


 On Mon, Jul 13, 2009 at 12:04 AM, TianJing tianj...@genomics.org.cnwrote:

 i do not use text for start_postion,i use int for it. the only col which
 defined to text is characters such as ABTGDSDFSGFDG etc.

 2009/7/13 Darryle Steplight dstepli...@gmail.com

  Numeric indexing is a lot faster. You definitely shouldn't use text or
  varchar types as column types for you min and max  values. Do an ALTER
  TABLE   on any column only hold numeric values and switch them to int
  or mediumint.
 
  On Mon, Jul 13, 2009 at 12:36 AM, TianJingtianj...@genomics.org.cn
  wrote:
   sorry fo that, but i really need all cols in the table, i think the
  problem
   maybe caused by one of the col which is text type, each record of this
  col
   has 2000 characters. this makes the size of record more biger.
  
   2009/7/13 Darryle Steplight dstepli...@gmail.com
  
   You are still doing SELECT * . Do you really need to return all of
 the
   columns in that table or just COL1, COL2, COL5 for example. Only grab
   the columns you are actually going to use.
  
   On Mon, Jul 13, 2009 at 12:23 AM, TianJingtianj...@genomics.org.cn
   wrote:
thanks for reply,
   
i hava an index on the start_position,the min_postion and the
max_postion is
constant value, the output of the query is:
   
explain select * from REF_SEQ where START_POSITION  between 3
 and
803;
   
   
   
 
 ++-+-+---+-+-+-+--+---+-+
| id | select_type | table   | type  | possible_keys   | key
|
key_len | ref  | rows  | Extra   |
   
   
 
 ++-+-+---+-+-+-+--+---+-+
|  1 | SIMPLE  | REF_SEQ | range | index_seq_start |
  index_seq_start
|
5   | NULL | 90886 | Using where |
   
   
 
 ++-+-+---+-+-+-+--+---+-+
   
index_seq_start is the index on start_postion,
   
2009/7/13 Darryle Steplight dstepli...@gmail.com
   
1. Don't use SELECT *.  Only grab the cols that you only need.
 Also
make sure you have an index on min_position and max_position.
 After
that if your query isn't faster please show us the output of
 running
EXPLAIN select * from table_name where start_postion between
min_postion and
 max_postion .
   
On Mon, Jul 13, 2009 at 12:03 AM, JingTian
 jingtian.seu...@gmail.com
  
wrote:
 Hi all,

 i use select * from table_name where start_postion between
 min_postion
 and
 max_postion to select all the record in the ranges,
 when the ranges is very large,such as 800(about 1000 record
 in
 it),
 the
 query is so slow,

 when i use mysql administrator i find that traffic is higher
 when
  the
 query
 is begin,

 could you please give me some advice on how to optimization the
 query?

 thanks,

 --
 Tianjing

   
   
   
--
A: It reverses the normal flow of conversation.
Q: What's wrong with top-posting?
A: Top-posting.
Q: What's the biggest scourge on plain text email discussions?
   
   
   
--
  
  
   --
   A: It reverses the normal flow of conversation.
   Q: What's wrong with top-posting?
   A: Top-posting.
   Q: What's the biggest scourge on plain text email discussions?
  
   --
   MySQL General Mailing List
   For list archives: 

Re: Uploading large files with mySQL

2009-07-13 Thread mos

At 07:08 AM 7/13/2009, you wrote:

Hello,
I'm developing a web application that requires to store large files in a
MySQL database. The files can range up to 2Gb.

In my understanding the upper limit for the SQL queries (thus insert
queries) is 1GB. I'm trying, for the time being, to upload files of sizes
around 65MB, but I still get some errors - including the MySQL server has
gone away.

I followed the discussion in other post, and I properly set all the system
variables (max_allowed_packet_size, wait_timeout) to the maximum value, but
the error still occurs.

Would you suggest looking at something in particular?


You are storing 1-2gb files? in a database??? Why? What are you trying to 
achieve?


As Johan said, SQL is not meant to do this and I see no reason why you 
would want to. It is like trying to shove an elephant into a phone booth 
and then be disappointed he can't do tricks.


You are going to have to rethink the problem you are trying to solve. If 
you want to tell us what the problem is, maybe the people on this group can 
help.


Mike



For the time being, just to try this, I'm inserting the file through the
MySQL Query Browser - just not to add other possible sources of problems on
top of that.

Thanks!

Dan



--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:http://lists.mysql.com/mysql?unsub=arch...@jab.org



Re: mysql select query

2009-07-13 Thread Johnny Withers
I see that index_ref_start is defined on Ref_Id and Start_Position. Mysql
only uses the left-most column of this index. Drop and re-add this key only
defined as

INDEX idx_ref_start(start_position)

and see if that helps.

Your explain you sent this time is not even using the index.

In your previous explain output, mysql said the key_len is 5. Since both
columns in this key are INT (4-bytes), it says it's only using the left-most
column, REF_ID. I'm not sure why it says 5 and not 4, maybe someone else can
explain this.

I'd redefine the index to only use the a single column, then define a new
index on REF_ID if you use that in JOINs.



On Mon, Jul 13, 2009 at 9:07 AM, TianJing tianj...@genomics.org.cn wrote:

 the REF_SEQ is defined below, the col DNA_SEQ is a string such as
 ATGCGGTTA,

 | REF_SEQ | CREATE TABLE `REF_SEQ` (
   `SEQ_ID` int(11) NOT NULL auto_increment,
   `REF_ID` int(11) NOT NULL,
   `START_POSITION` int(11) NOT NULL,
   `END_POSITION` int(11) NOT NULL,
   `DNA_SEQ` text,
   `DNA_QUALITY` text,
   PRIMARY KEY  (`SEQ_ID`),
   KEY `index_ref_start` (`REF_ID`,`START_POSITION`)
 ) ENGINE=MyISAM DEFAULT CHARSET=utf8 |

 i create a index on cols REF_ID and START_POSITION, i also use analyze
 table REF_SEQ to optimization the query,
 and now the explain output is:


 mysql explain select * from REF_SEQ where START_POSITION  between 3
 and 803;

 ++-+-+--+---+--+-+--++-+
 | id | select_type | table   | type | possible_keys | key  | key_len | ref
 | rows   | Extra   |

 ++-+-+--+---+--+-+--++-+
 |  1 | SIMPLE  | REF_SEQ | ALL  | NULL  | NULL | NULL| NULL
 | 219728 | Using where |

 ++-+-+--+---+--+-+--++-+




 2009/7/13 Johnny Withers joh...@pixelated.net

   Can you show the CREATE TABLE for your REF_SEQ table?

 The explain output says using where which means that MySQL will have to
 post-filter rows after the storage engine retrieves them. It also means the
 query may benefit from different/better indexing.


 On Mon, Jul 13, 2009 at 12:04 AM, TianJing tianj...@genomics.org.cnwrote:

 i do not use text for start_postion,i use int for it. the only col which
 defined to text is characters such as ABTGDSDFSGFDG etc.

 2009/7/13 Darryle Steplight dstepli...@gmail.com

  Numeric indexing is a lot faster. You definitely shouldn't use text or
  varchar types as column types for you min and max  values. Do an ALTER
  TABLE   on any column only hold numeric values and switch them to int
  or mediumint.
 
  On Mon, Jul 13, 2009 at 12:36 AM, TianJingtianj...@genomics.org.cn
  wrote:
   sorry fo that, but i really need all cols in the table, i think the
  problem
   maybe caused by one of the col which is text type, each record of
 this
  col
   has 2000 characters. this makes the size of record more biger.
  
   2009/7/13 Darryle Steplight dstepli...@gmail.com
  
   You are still doing SELECT * . Do you really need to return all of
 the
   columns in that table or just COL1, COL2, COL5 for example. Only
 grab
   the columns you are actually going to use.
  
   On Mon, Jul 13, 2009 at 12:23 AM, TianJingtianj...@genomics.org.cn
 
   wrote:
thanks for reply,
   
i hava an index on the start_position,the min_postion and the
max_postion is
constant value, the output of the query is:
   
explain select * from REF_SEQ where START_POSITION  between 3
 and
803;
   
   
   
 
 ++-+-+---+-+-+-+--+---+-+
| id | select_type | table   | type  | possible_keys   | key
|
key_len | ref  | rows  | Extra   |
   
   
 
 ++-+-+---+-+-+-+--+---+-+
|  1 | SIMPLE  | REF_SEQ | range | index_seq_start |
  index_seq_start
|
5   | NULL | 90886 | Using where |
   
   
 
 ++-+-+---+-+-+-+--+---+-+
   
index_seq_start is the index on start_postion,
   
2009/7/13 Darryle Steplight dstepli...@gmail.com
   
1. Don't use SELECT *.  Only grab the cols that you only need.
 Also
make sure you have an index on min_position and max_position.
 After
that if your query isn't faster please show us the output of
 running
EXPLAIN select * from table_name where start_postion between
min_postion and
 max_postion .
   
On Mon, Jul 13, 2009 at 12:03 AM, JingTian
 jingtian.seu...@gmail.com
  
wrote:
 Hi all,

 i use select * from table_name where start_postion between
 min_postion
 and
 max_postion to select all the record in the ranges,
 when the ranges is very large,such as 800(about 1000 record
 in
   

Re: Uploading large files with mySQL

2009-07-13 Thread Barry Leslie
Hi Dan,

The problem with BLOB is that traditionally MySQL, along with a lot of other
databases, is not designed to handle them very well. The BLOB data is passed
between the client and server as if it where the same as any other data.
This results in large memory use by both the client and server as the BLOB
is buffered on both sides. The standard solution to this was to store the
BLOBs some where in a file system and then place some form of reference to
the BLOB in the database that could then be used by the client to get the
actual data. The problem of how to set such a system up and  maintain the
externally stored data was left up to the individual application designer.

The good news is that I am working on a generic solution to this problem
called the PrimeBase Media Stream engine (PBMS) that is intended to handle
exactly what you want to do. PBMS is a specialized storage engine that works
with other storage engines to store BLOB data. The actual BLOB data is
streamed to and from the PBMS engine itself and is not passed through the
MySQL server and client interface. What is stored in the actual BLOB columns
in the normal storage engine tables is a BLOB reference that can be used to
get the real BLOB data from the PBMS engine. The PBMS engine handles the
storage of the BLOB data which may be stored locally or could be stored
remotely in Amazon S3 storage for example.

For more information please have a look at our web site:
http://www.blobstreaming.org or check out my BLOG
http://bpbdev.blogspot.com.

Good luck on your project.

Barry


On 7/13/09 5:08 AM, Daniele Development-ML daniele@googlemail.com
wrote:

 Hello,
 I'm developing a web application that requires to store large files in a
 MySQL database. The files can range up to 2Gb.
 
 In my understanding the upper limit for the SQL queries (thus insert
 queries) is 1GB. I'm trying, for the time being, to upload files of sizes
 around 65MB, but I still get some errors - including the MySQL server has
 gone away.
 
 I followed the discussion in other post, and I properly set all the system
 variables (max_allowed_packet_size, wait_timeout) to the maximum value, but
 the error still occurs.
 
 Would you suggest looking at something in particular?
 
 For the time being, just to try this, I'm inserting the file through the
 MySQL Query Browser - just not to add other possible sources of problems on
 top of that.
 
 Thanks!
 
 Dan

-
Barry Leslie

SNAP Innovation Softwareentwicklung GmbH
Senior Software Engineer

Tel: (001) 250 595 4228
Fax: (001) 250 595 4233
Email: barry.les...@primebase.com
Web: www.PrimeBase.com

SNAP Innovation Softwareentwicklung GmbH, D-22765 Hamburg,
Max-Brauer-Allee 50, Germany
Amtsgericht Hamburg HRB 61066, Geschäftsführer: Ulrich Zimmer, Paul
McCullagh
-




--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:http://lists.mysql.com/mysql?unsub=arch...@jab.org



Re: Need advice on a good setup for generic queries

2009-07-13 Thread Morten


I've been reading High Performance MySQL today and got some great  
tips

from that which will help a lot.


Yes it is a good book. I hope you have the 2nd edition.


I do, I should have read this years ago (well.. the 1st edition then  
at least). So many caveats to using indexes.


So why not have 2 tables: Cases_Active for the cases currently  
open, and Cases_Closed.


Reporting across open and closed, but as you state I could be using  
UNION for this. Reporting is not expected to be fast any way.


You can use a Memory table but they don't work with Merge tables. I  
would only consider this if the table gets updates every second or  
two and that flushes the cache. I'm not sure how much money you're  
willing to throw at this project, but I know of some additional  
hardware that can squeeze out more speed.


Well.. I could just throw some more RAM at it. But ideally, I would  
have a sound setup first before considering mindlessly adding  
resources (however tempting it is).


Thanks for your tips. I'll be looking further into splitting the tables.

Morten



--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:http://lists.mysql.com/mysql?unsub=arch...@jab.org



Re: mysql select query

2009-07-13 Thread TianJing
sorry for my careless,the sql should be select * from REF_SEQ where REF_ID =
3 and START_POSITION  between 3 and 803;

the explain output is :


mysql explain select * from REF_SEQ where REF_ID = 3 and START_POSITION
between 3 and 803;
++-+-+---+-+-+-+--+--+-+
| id | select_type | table   | type  | possible_keys   | key |
key_len | ref  | rows | Extra   |
++-+-+---+-+-+-+--+--+-+
|  1 | SIMPLE  | REF_SEQ | range | index_ref_start | index_ref_start |
8   | NULL | 2408 | Using where |
++-+-+---+-+-+-+--+--+-+

in this sql,the index is on REF_ID and START_POSITION, the rows in the
output is more less than that index_POS on START_POSITION and index_ref on
REF_ID.

2009/7/13 Johnny Withers joh...@pixelated.net

 I see that index_ref_start is defined on Ref_Id and Start_Position. Mysql
 only uses the left-most column of this index. Drop and re-add this key only
 defined as

 INDEX idx_ref_start(start_position)

 and see if that helps.

 Your explain you sent this time is not even using the index.

 In your previous explain output, mysql said the key_len is 5. Since both
 columns in this key are INT (4-bytes), it says it's only using the
 left-most
 column, REF_ID. I'm not sure why it says 5 and not 4, maybe someone else
 can
 explain this.

 I'd redefine the index to only use the a single column, then define a new
 index on REF_ID if you use that in JOINs.



 On Mon, Jul 13, 2009 at 9:07 AM, TianJing tianj...@genomics.org.cn
 wrote:

  the REF_SEQ is defined below, the col DNA_SEQ is a string such as
  ATGCGGTTA,
 
  | REF_SEQ | CREATE TABLE `REF_SEQ` (
`SEQ_ID` int(11) NOT NULL auto_increment,
`REF_ID` int(11) NOT NULL,
`START_POSITION` int(11) NOT NULL,
`END_POSITION` int(11) NOT NULL,
`DNA_SEQ` text,
`DNA_QUALITY` text,
PRIMARY KEY  (`SEQ_ID`),
KEY `index_ref_start` (`REF_ID`,`START_POSITION`)
  ) ENGINE=MyISAM DEFAULT CHARSET=utf8 |
 
  i create a index on cols REF_ID and START_POSITION, i also use analyze
  table REF_SEQ to optimization the query,
  and now the explain output is:
 
 
  mysql explain select * from REF_SEQ where START_POSITION  between 3
  and 803;
 
 
 ++-+-+--+---+--+-+--++-+
  | id | select_type | table   | type | possible_keys | key  | key_len |
 ref
  | rows   | Extra   |
 
 
 ++-+-+--+---+--+-+--++-+
  |  1 | SIMPLE  | REF_SEQ | ALL  | NULL  | NULL | NULL|
 NULL
  | 219728 | Using where |
 
 
 ++-+-+--+---+--+-+--++-+
 
 
 
 
  2009/7/13 Johnny Withers joh...@pixelated.net
 
Can you show the CREATE TABLE for your REF_SEQ table?
 
  The explain output says using where which means that MySQL will have
 to
  post-filter rows after the storage engine retrieves them. It also means
 the
  query may benefit from different/better indexing.
 
 
  On Mon, Jul 13, 2009 at 12:04 AM, TianJing tianj...@genomics.org.cn
 wrote:
 
  i do not use text for start_postion,i use int for it. the only col
 which
  defined to text is characters such as ABTGDSDFSGFDG etc.
 
  2009/7/13 Darryle Steplight dstepli...@gmail.com
 
   Numeric indexing is a lot faster. You definitely shouldn't use text
 or
   varchar types as column types for you min and max  values. Do an
 ALTER
   TABLE   on any column only hold numeric values and switch them to int
   or mediumint.
  
   On Mon, Jul 13, 2009 at 12:36 AM, TianJingtianj...@genomics.org.cn
   wrote:
sorry fo that, but i really need all cols in the table, i think the
   problem
maybe caused by one of the col which is text type, each record of
  this
   col
has 2000 characters. this makes the size of record more biger.
   
2009/7/13 Darryle Steplight dstepli...@gmail.com
   
You are still doing SELECT * . Do you really need to return all of
  the
columns in that table or just COL1, COL2, COL5 for example. Only
  grab
the columns you are actually going to use.
   
On Mon, Jul 13, 2009 at 12:23 AM, TianJing
 tianj...@genomics.org.cn
  
wrote:
 thanks for reply,

 i hava an index on the start_position,the min_postion and the
 max_postion is
 constant value, the output of the query is:

 explain select * from REF_SEQ where START_POSITION  between
 3
  and
 803;



  
 
 ++-+-+---+-+-+-+--+---+-+
 | id | select_type | table   | type  | possible_keys   | key
 |
 key_len | ref  | rows  | Extra   |

 

RE: MySQL Windows version

2009-07-13 Thread Jerry Schwartz
-Original Message-
From: russbucket [mailto:russbuc...@nwi.net]
Sent: Friday, July 10, 2009 12:09 PM
To: mysql@lists.mysql.com
Subject: MySQL Windows version

I have been using the Linux version of MySQL for five years, also used
it on
a Windows ME system even though documents said you couldn't. Recent a
friend
asked me to help him get it up and running on a Windows Vista system.

[JS] Piece of cake, believe it or not.

I was looking for the system configuration requirements but could not
find
them in the manual (or I missed them)? We want to use localhost.
[JS] The only trick with using localhost is that it goes through the
network stack, so do NOT disable that.

Do you need Apache and PHP? Is there a Windows application that works
like
[JS] You can use IIS, Apache, or Tomcat; MySQL is completely oblivious to
any and all web servers.
phpMyAdmin? I tried MySQLAdmin on my Linux system, but I could not cut
and
paste SQL Commands into the editor.

[JS] I use PHPAdmin. When you install the Windows MSI package for PHP, it
will ask you which web server you want to configure. You'll want to run the
MSI using admin privileges.

Regards,
 
Jerry Schwartz
The Infoshop by Global Information Incorporated
195 Farmington Ave.
Farmington, CT 06032
 
860.674.8796 / FAX: 860.674.8341
 
www.the-infoshop.com



Anything pointing to the above would be helpful.
Thanks in advance.
--

--
OpenSUSE 11.1 KDE 4.1.3,
Intel DX48BT2 Core 2 Dual E7200. 4 GB DDR III
GeForce 8400 GS, 320GB Disc (2)

---
Russ


--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:http://lists.mysql.com/mysql?unsub=jschwa...@the-
infoshop.com





-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:http://lists.mysql.com/mysql?unsub=arch...@jab.org



RE: What to Download????

2009-07-13 Thread Jerry Schwartz

-Original Message-
From: Michael Abbott [mailto:damy...@hotmail.com]
Sent: Saturday, July 11, 2009 11:10 AM
To: mysql@lists.mysql.com
Subject: What to Download


Hi Folks, can someone give me some info on what I need to download
here??  I just bought a new 64 bit laptop

Im sitting on the MySQL dowload site  and wondering if Im looking at the
correct package to download



Im at   Windows x64 downloads  (is this for 64 bit machines)



I have it appears 3 options



Windows Esentials (AMD64 / Intel EM64T)

Windows MSI Installer

Without Installer


[JS] YOU CAN ONLY USE THE x64 VERSION IF YOU ARE RUNNING A 64-BIT VERSION OF
WINDOWS! Use the MSI Installer version, in either case.



What else might I need to download in order to run a Java Application on
MySQL ...  I know I need the JDBC drivers, but anything else from MySQL?



Or does anyboby have a better package I should download?



Thank-You to any and all that help me



Mike

_
Windows Live helps you keep up with all your friends, in one place.
http://go.microsoft.com/?linkid=9660826




-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:http://lists.mysql.com/mysql?unsub=arch...@jab.org



Re: mysql select query

2009-07-13 Thread Johnny Withers
It looks like MySQL is using both columns in the key for that query, since
the key_len is 8, but for some reason it says it is still using where.

What happens when you only select these fields: seq_id, ref_id,
start_position, end_position?

Does the query speed up? I had a table that had some TEXT columns defined
and I found when I selected every column excep the TEXT column the query ran
faster.



On Mon, Jul 13, 2009 at 9:45 AM, TianJing tianj...@genomics.org.cn wrote:

 sorry for my careless,the sql should be select * from REF_SEQ where REF_ID
 = 3 and START_POSITION  between 3 and 803;

 the explain output is :


 mysql explain select * from REF_SEQ where REF_ID = 3 and START_POSITION
 between 3 and 803;

 ++-+-+---+-+-+-+--+--+-+
 | id | select_type | table   | type  | possible_keys   | key |
 key_len | ref  | rows | Extra   |

 ++-+-+---+-+-+-+--+--+-+
 |  1 | SIMPLE  | REF_SEQ | range | index_ref_start | index_ref_start |
 8   | NULL | 2408 | Using where |

 ++-+-+---+-+-+-+--+--+-+

 in this sql,the index is on REF_ID and START_POSITION, the rows in the
 output is more less than that index_POS on START_POSITION and index_ref on
 REF_ID.


 2009/7/13 Johnny Withers joh...@pixelated.net

 I see that index_ref_start is defined on Ref_Id and Start_Position. Mysql
 only uses the left-most column of this index. Drop and re-add this key
 only
 defined as

 INDEX idx_ref_start(start_position)

 and see if that helps.

 Your explain you sent this time is not even using the index.

 In your previous explain output, mysql said the key_len is 5. Since both
 columns in this key are INT (4-bytes), it says it's only using the
 left-most
 column, REF_ID. I'm not sure why it says 5 and not 4, maybe someone else
 can
 explain this.

 I'd redefine the index to only use the a single column, then define a new
 index on REF_ID if you use that in JOINs.



 On Mon, Jul 13, 2009 at 9:07 AM, TianJing tianj...@genomics.org.cn
 wrote:

  the REF_SEQ is defined below, the col DNA_SEQ is a string such as
  ATGCGGTTA,
 
  | REF_SEQ | CREATE TABLE `REF_SEQ` (
`SEQ_ID` int(11) NOT NULL auto_increment,
`REF_ID` int(11) NOT NULL,
`START_POSITION` int(11) NOT NULL,
`END_POSITION` int(11) NOT NULL,
`DNA_SEQ` text,
`DNA_QUALITY` text,
PRIMARY KEY  (`SEQ_ID`),
KEY `index_ref_start` (`REF_ID`,`START_POSITION`)
  ) ENGINE=MyISAM DEFAULT CHARSET=utf8 |
 
  i create a index on cols REF_ID and START_POSITION, i also use analyze
  table REF_SEQ to optimization the query,
  and now the explain output is:
 
 
  mysql explain select * from REF_SEQ where START_POSITION  between 3
  and 803;
 
 
 ++-+-+--+---+--+-+--++-+
  | id | select_type | table   | type | possible_keys | key  | key_len |
 ref
  | rows   | Extra   |
 
 
 ++-+-+--+---+--+-+--++-+
  |  1 | SIMPLE  | REF_SEQ | ALL  | NULL  | NULL | NULL|
 NULL
  | 219728 | Using where |
 
 
 ++-+-+--+---+--+-+--++-+
 
 
 
 
  2009/7/13 Johnny Withers joh...@pixelated.net
 
Can you show the CREATE TABLE for your REF_SEQ table?
 
  The explain output says using where which means that MySQL will have
 to
  post-filter rows after the storage engine retrieves them. It also means
 the
  query may benefit from different/better indexing.
 
 
  On Mon, Jul 13, 2009 at 12:04 AM, TianJing tianj...@genomics.org.cn
 wrote:
 
  i do not use text for start_postion,i use int for it. the only col
 which
  defined to text is characters such as ABTGDSDFSGFDG etc.
 
  2009/7/13 Darryle Steplight dstepli...@gmail.com
 
   Numeric indexing is a lot faster. You definitely shouldn't use text
 or
   varchar types as column types for you min and max  values. Do an
 ALTER
   TABLE   on any column only hold numeric values and switch them to
 int
   or mediumint.
  
   On Mon, Jul 13, 2009 at 12:36 AM, TianJingtianj...@genomics.org.cn
 
   wrote:
sorry fo that, but i really need all cols in the table, i think
 the
   problem
maybe caused by one of the col which is text type, each record of
  this
   col
has 2000 characters. this makes the size of record more biger.
   
2009/7/13 Darryle Steplight dstepli...@gmail.com
   
You are still doing SELECT * . Do you really need to return all
 of
  the
columns in that table or just COL1, COL2, COL5 for example. Only
  grab
the columns you are actually going to use.
   
On Mon, Jul 13, 2009 at 12:23 AM, TianJing
 tianj...@genomics.org.cn
  
wrote:
 thanks 

MySQL GUI Tools

2009-07-13 Thread Carlos Williams
If I am looking for a application that will connect to MySQL and allow
me to make database / table / user / permission modifications via a
graphical tool, is there something specific out there you guys
recommend? I have been doing everything via CLI only and would like to
try a GUI option if available.

Anyone know if this exist for Linux?

-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:http://lists.mysql.com/mysql?unsub=arch...@jab.org



Re: MySQL GUI Tools

2009-07-13 Thread Ray
On July 13, 2009 12:03:49 pm Carlos Williams wrote:
 If I am looking for a application that will connect to MySQL and allow
 me to make database / table / user / permission modifications via a
 graphical tool, is there something specific out there you guys
 recommend? I have been doing everything via CLI only and would like to
 try a GUI option if available.

 Anyone know if this exist for Linux?

PhpMyAdmin
http://www.phpmyadmin.net/home_page/index.php

-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:http://lists.mysql.com/mysql?unsub=arch...@jab.org



Re: MySQL GUI Tools

2009-07-13 Thread Carlos Williams
Yup. That was what I was looking for. Thanks!

On Mon, Jul 13, 2009 at 3:27 PM, Rayr...@stilltech.net wrote:
 On July 13, 2009 12:03:49 pm Carlos Williams wrote:
 If I am looking for a application that will connect to MySQL and allow
 me to make database / table / user / permission modifications via a
 graphical tool, is there something specific out there you guys
 recommend? I have been doing everything via CLI only and would like to
 try a GUI option if available.

 Anyone know if this exist for Linux?

 PhpMyAdmin
 http://www.phpmyadmin.net/home_page/index.php

 --
 MySQL General Mailing List
 For list archives: http://lists.mysql.com/mysql
 To unsubscribe:    http://lists.mysql.com/mysql?unsub=carlosw...@gmail.com



--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:http://lists.mysql.com/mysql?unsub=arch...@jab.org



Re: Need advice on a good setup for generic queries

2009-07-13 Thread Simon J Mudd
mo...@fastmail.fm (mos) writes:

 At 08:06 PM 7/12/2009, Morten wrote:
 
 If you can get rid of the DateTime and switch to just Date it may
 speed up the indexes.

While not as pretty it's more compact to convert timestamp values into
an bigint. For example: seconds since epoch.  If you know the ranges
to put in the query then store them this way and thus save on some
storage, and therefore improve performance. May be worth considering?

...

 These queries which involve easily indexable fields (status_id,
 assignee_id, company_id) and multiple conditions on different ranges
 are what's difficult. The table is about 2.500.000 records and grows
 at a daily rate of about 50.000 records (that number is growing
 though). Once an action has been closed, it gets status closed and
 is no longer of interest. 70% of the records in the table will be
 status closed.

As mentioned if you are not interested in closed queries get rid of them.
put them in another table.

That reduces the number of rows and hence the query time.

Simon

-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:http://lists.mysql.com/mysql?unsub=arch...@jab.org



RE: MySQL GUI Tools

2009-07-13 Thread Daevid Vincent
Did you even look here:
http://dev.mysql.com/downloads/gui-tools/5.0.html 

 -Original Message-
 From: Carlos Williams [mailto:carlosw...@gmail.com] 
 Sent: Monday, July 13, 2009 12:43 PM
 To: Ray
 Cc: mysql@lists.mysql.com
 Subject: Re: MySQL GUI Tools
 
 Yup. That was what I was looking for. Thanks!
 
 On Mon, Jul 13, 2009 at 3:27 PM, Rayr...@stilltech.net wrote:
  On July 13, 2009 12:03:49 pm Carlos Williams wrote:
  If I am looking for a application that will connect to 
 MySQL and allow
  me to make database / table / user / permission modifications via a
  graphical tool, is there something specific out there you guys
  recommend? I have been doing everything via CLI only and 
 would like to
  try a GUI option if available.
 
  Anyone know if this exist for Linux?
 
  PhpMyAdmin
  http://www.phpmyadmin.net/home_page/index.php
 
  --
  MySQL General Mailing List
  For list archives: http://lists.mysql.com/mysql
  To unsubscribe:    
 http://lists.mysql.com/mysql?unsub=carlosw...@gmail.com
 
 
 
 -- 
 MySQL General Mailing List
 For list archives: http://lists.mysql.com/mysql
 To unsubscribe:
 http://lists.mysql.com/mysql?unsub=dae...@daevid.com
 


--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:http://lists.mysql.com/mysql?unsub=arch...@jab.org



show warnings;

2009-07-13 Thread Artie Ziff
Hello,

I am returning to mysql after long break, so not experienced with
details. I inherited a text file with the mysql DDL statements which
create database and tables, etc. Each 'create' or 'drop' table statement
is preceded with a 'show warnings' statement. Since this file is used to
initialize a new database in mysql server, is there any reason to have
warnings enabled like this? It seems the warning would be generated 100%
of the time since the database did not exist before. So, my question is,
is there some good reason to include 'show warnings' statements into a
file that is intended to initialize a database that did not exist
before? It seems unnecessary however perhaps there is some situation
where this makes sense. 

Cheers,
AZ


-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:http://lists.mysql.com/mysql?unsub=arch...@jab.org



Re: mysql select query

2009-07-13 Thread TianJing
yes,it is more faster that i select every cols except the TEXT col,but
unfortunately i need the TEXT cols for next step.

2009/7/14 Johnny Withers joh...@pixelated.net

 It looks like MySQL is using both columns in the key for that query, since
 the key_len is 8, but for some reason it says it is still using where.

 What happens when you only select these fields: seq_id, ref_id,
 start_position, end_position?

 Does the query speed up? I had a table that had some TEXT columns defined
 and I found when I selected every column excep the TEXT column the query ran
 faster.



 On Mon, Jul 13, 2009 at 9:45 AM, TianJing tianj...@genomics.org.cnwrote:

 sorry for my careless,the sql should be select * from REF_SEQ where REF_ID
 = 3 and START_POSITION  between 3 and 803;

 the explain output is :


 mysql explain select * from REF_SEQ where REF_ID = 3 and START_POSITION
 between 3 and 803;

 ++-+-+---+-+-+-+--+--+-+
 | id | select_type | table   | type  | possible_keys   | key |
 key_len | ref  | rows | Extra   |

 ++-+-+---+-+-+-+--+--+-+
 |  1 | SIMPLE  | REF_SEQ | range | index_ref_start | index_ref_start |
 8   | NULL | 2408 | Using where |

 ++-+-+---+-+-+-+--+--+-+

 in this sql,the index is on REF_ID and START_POSITION, the rows in the
 output is more less than that index_POS on START_POSITION and index_ref on
 REF_ID.


 2009/7/13 Johnny Withers joh...@pixelated.net

 I see that index_ref_start is defined on Ref_Id and Start_Position. Mysql
 only uses the left-most column of this index. Drop and re-add this key
 only
 defined as

 INDEX idx_ref_start(start_position)

 and see if that helps.

 Your explain you sent this time is not even using the index.

 In your previous explain output, mysql said the key_len is 5. Since both
 columns in this key are INT (4-bytes), it says it's only using the
 left-most
 column, REF_ID. I'm not sure why it says 5 and not 4, maybe someone else
 can
 explain this.

 I'd redefine the index to only use the a single column, then define a new
 index on REF_ID if you use that in JOINs.



 On Mon, Jul 13, 2009 at 9:07 AM, TianJing tianj...@genomics.org.cn
 wrote:

  the REF_SEQ is defined below, the col DNA_SEQ is a string such as
  ATGCGGTTA,
 
  | REF_SEQ | CREATE TABLE `REF_SEQ` (
`SEQ_ID` int(11) NOT NULL auto_increment,
`REF_ID` int(11) NOT NULL,
`START_POSITION` int(11) NOT NULL,
`END_POSITION` int(11) NOT NULL,
`DNA_SEQ` text,
`DNA_QUALITY` text,
PRIMARY KEY  (`SEQ_ID`),
KEY `index_ref_start` (`REF_ID`,`START_POSITION`)
  ) ENGINE=MyISAM DEFAULT CHARSET=utf8 |
 
  i create a index on cols REF_ID and START_POSITION, i also use analyze
  table REF_SEQ to optimization the query,
  and now the explain output is:
 
 
  mysql explain select * from REF_SEQ where START_POSITION  between
 3
  and 803;
 
 
 ++-+-+--+---+--+-+--++-+
  | id | select_type | table   | type | possible_keys | key  | key_len |
 ref
  | rows   | Extra   |
 
 
 ++-+-+--+---+--+-+--++-+
  |  1 | SIMPLE  | REF_SEQ | ALL  | NULL  | NULL | NULL|
 NULL
  | 219728 | Using where |
 
 
 ++-+-+--+---+--+-+--++-+
 
 
 
 
  2009/7/13 Johnny Withers joh...@pixelated.net
 
Can you show the CREATE TABLE for your REF_SEQ table?
 
  The explain output says using where which means that MySQL will have
 to
  post-filter rows after the storage engine retrieves them. It also
 means the
  query may benefit from different/better indexing.
 
 
  On Mon, Jul 13, 2009 at 12:04 AM, TianJing tianj...@genomics.org.cn
 wrote:
 
  i do not use text for start_postion,i use int for it. the only col
 which
  defined to text is characters such as ABTGDSDFSGFDG etc.
 
  2009/7/13 Darryle Steplight dstepli...@gmail.com
 
   Numeric indexing is a lot faster. You definitely shouldn't use text
 or
   varchar types as column types for you min and max  values. Do an
 ALTER
   TABLE   on any column only hold numeric values and switch them to
 int
   or mediumint.
  
   On Mon, Jul 13, 2009 at 12:36 AM, TianJing
 tianj...@genomics.org.cn
   wrote:
sorry fo that, but i really need all cols in the table, i think
 the
   problem
maybe caused by one of the col which is text type, each record of
  this
   col
has 2000 characters. this makes the size of record more biger.
   
2009/7/13 Darryle Steplight dstepli...@gmail.com
   
You are still doing SELECT * . Do you really need to return all
 of
  the
columns in that table or just COL1, COL2, COL5 

Re: show warnings;

2009-07-13 Thread Michael Dykman
It is a little bit of paranoia which is not unhealthy.  You might be
running those scripts on a dev server or a shared host where the
default warnings setting is not the default nor is it necessarily
under your control.  You are right, warnings *should* be enabled by
default, but when you want to be guaranteed of consistent behaviour,
explicitly ask for what you want.

 - michael dykman

On Mon, Jul 13, 2009 at 8:20 PM, Artie Ziffartie.z...@gmail.com wrote:
 Hello,

 I am returning to mysql after long break, so not experienced with
 details. I inherited a text file with the mysql DDL statements which
 create database and tables, etc. Each 'create' or 'drop' table statement
 is preceded with a 'show warnings' statement. Since this file is used to
 initialize a new database in mysql server, is there any reason to have
 warnings enabled like this? It seems the warning would be generated 100%
 of the time since the database did not exist before. So, my question is,
 is there some good reason to include 'show warnings' statements into a
 file that is intended to initialize a database that did not exist
 before? It seems unnecessary however perhaps there is some situation
 where this makes sense.

 Cheers,
 AZ


 --
 MySQL General Mailing List
 For list archives: http://lists.mysql.com/mysql
 To unsubscribe:http://lists.mysql.com/mysql?unsub=mdyk...@gmail.com





-- 
 - michael dykman
 - mdyk...@gmail.com

 - All models are wrong.  Some models are useful.

-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:http://lists.mysql.com/mysql?unsub=arch...@jab.org



Copy 70GB ibdata, etc. and server won't start now

2009-07-13 Thread Daevid Vincent
I have a 70GB database that I need to put on another box I'm building
(Ubuntu 9.04 w/ext4, 1TB drive). I copy these files from the existing
database (stopped it first of course) via USB HD. Doing a mysql dump/restore
isn't really realistic as it gets exponentially slower and can take from 3-5
days to complete!

root:/var/lib/mysql# ll
drwx-- 2 mysql mysql   12288 2009-05-08 06:57 agis_core
-rw-rw 1 mysql mysql 70038585344 2009-06-17 04:09 ibdata1
-rw-rw 1 mysql mysql 5242880 2009-06-17 04:09 ib_logfile0
-rw-rw 1 mysql mysql 5242880 2009-06-17 03:22 ib_logfile1
drwxr-xr-x 2 mysql mysql4096 2008-11-24 23:34 mysql

The one main difference is that the original box is a master from a
replication cluster with a single slave. The new box is a stand alone (and I
want it to be that way, no replication as it's for a demonstration event).
The other is that the original was on ext3 and this new one is ext4, but I
fail to see that being an issue unless ext4 has some obscure bug with very
large files? 

I also merged the /etc/mysql/my.cnf file (see way below for actual file).
The only part I wasn't sure about is this, so I commented them all out on
the new box, but I get the same results if I leave them in too:

#server-id  = 1
#log_bin= /var/log/mysql/mysql-bin.log
#expire_logs_days   = 10
#max_binlog_size= 100M
#binlog_do_db   = agis_core
#innodb_flush_log_at_trx_commit = 1
#sync_binlog= 1

Whenever I try to start the mysql server, it fails and this is what syslog
says:

InnoDB: Log scan progressed past the checkpoint lsn 31 2660678588
090714  1:43:16  InnoDB: Database was not shut down normally!
InnoDB: Starting crash recovery.
InnoDB: Reading tablespace information from the .ibd files...
InnoDB: Restoring possible half-written data pages from the doublewrite
InnoDB: buffer...
InnoDB: Doing recovery: scanned up to log sequence number 31 2660692731
090714  1:43:18  InnoDB: Error: page 7 log sequence number 31 2666928481
InnoDB: is in the future! Current system log sequence number 31 2660692731.
InnoDB: Your database may be corrupt or you may have copied the InnoDB
InnoDB: tablespace but not the InnoDB log files. See
InnoDB: http://dev.mysql.com/doc/refman/5.0/en/forcing-recovery.html
InnoDB: for more information.
090714  1:43:18  InnoDB: Error: page 2 log sequence number 31 2666965968
InnoDB: is in the future! Current system log sequence number 31 2660692731.
InnoDB: Your database may be corrupt or you may have copied the InnoDB
InnoDB: tablespace but not the InnoDB log files. See
InnoDB: http://dev.mysql.com/doc/refman/5.0/en/forcing-recovery.html
InnoDB: for more information.
090714  1:43:18  InnoDB: Error: page 4 log sequence number 31 2667028359
InnoDB: is in the future! Current system log sequence number 31 2660692731.
InnoDB: Your database may be corrupt or you may have copied the InnoDB
InnoDB: tablespace but not the InnoDB log files. See
InnoDB: http://dev.mysql.com/doc/refman/5.0/en/forcing-recovery.html
InnoDB: for more information.
090714  1:43:18  InnoDB: Error: page 5 log sequence number 31 2667017090
InnoDB: is in the future! Current system log sequence number 31 2660692731.
InnoDB: Your database may be corrupt or you may have copied the InnoDB
InnoDB: tablespace but not the InnoDB log files. See
InnoDB: http://dev.mysql.com/doc/refman/5.0/en/forcing-recovery.html
InnoDB: for more information.
090714  1:43:18  InnoDB: Error: page 6 log sequence number 31 2667017090
InnoDB: is in the future! Current system log sequence number 31 2660692731.
InnoDB: Your database may be corrupt or you may have copied the InnoDB
InnoDB: tablespace but not the InnoDB log files. See
InnoDB: http://dev.mysql.com/doc/refman/5.0/en/forcing-recovery.html
InnoDB: for more information.
090714  1:43:18  InnoDB: Error: page 45 log sequence number 31 2667016488
InnoDB: is in the future! Current system log sequence number 31 2660692731.
InnoDB: Your database may be corrupt or you may have copied the InnoDB
InnoDB: tablespace but not the InnoDB log files. See
InnoDB: http://dev.mysql.com/doc/refman/5.0/en/forcing-recovery.html
InnoDB: for more information.
090714  1:43:18  InnoDB: Error: page 1474592 log sequence number 31
2680162945
InnoDB: is in the future! Current system log sequence number 31 2660692731.
InnoDB: Your database may be corrupt or you may have copied the InnoDB
InnoDB: tablespace but not the InnoDB log files. See
InnoDB: http://dev.mysql.com/doc/refman/5.0/en/forcing-recovery.html
InnoDB: for more information.
InnoDB: Error: trying to access page number 2144600306 in space 0,
InnoDB: space name ./ibdata1,
InnoDB: which is outside the tablespace bounds.
InnoDB: Byte offset 0, len 16384, i/o type 10.
InnoDB: If you get this error at mysqld startup, please check that
InnoDB: your my.cnf matches the ibdata files that you have in the
InnoDB: MySQL server.
090714  1:43:18InnoDB: Assertion failure in thread 3083368144 in file

RE: Copy 70GB ibdata, etc. and server won't start now

2009-07-13 Thread Gary Smith
 InnoDB: Your database may be corrupt or you may have copied the InnoDB
 InnoDB: tablespace but not the InnoDB log files. See
 InnoDB: http://dev.mysql.com/doc/refman/5.0/en/forcing-recovery.html
 InnoDB: for more information.
 InnoDB: Error: trying to access page number 2144600306 in space 0,
 InnoDB: space name ./ibdata1,
 InnoDB: which is outside the tablespace bounds.
 InnoDB: Byte offset 0, len 16384, i/o type 10.
 InnoDB: If you get this error at mysqld startup, please check that
 InnoDB: your my.cnf matches the ibdata files that you have in the
 InnoDB: MySQL server.
 090714  1:43:18InnoDB: Assertion failure in thread 3083368144 in file
 fil0fil.c line 3959
 InnoDB: We intentionally generate a memory trap.
 InnoDB: Submit a detailed bug report to http://bugs.mysql.com.
 InnoDB: If you get repeated assertion failures or crashes, even
 InnoDB: immediately after the mysqld startup, there may be
 InnoDB: corruption in the InnoDB tablespace. Please refer to
 InnoDB: http://dev.mysql.com/doc/refman/5.0/en/forcing-recovery.html
 InnoDB: about forcing recovery.

First thing that comes to mind is a scenario that happened some time ago when 
we migrated data from one server to another in a similar way.  Server one had 
the innodb file set to 2gb each file (10 files total).  New server was set for 
1gb each.  It doesn't shrink files so not much was thought about it at the time 
but our problem was the innodb table settings had to match to the letter.  We 
ended up copying the copy file from the old machine to the new machine (they 
were running the same version so it really wasn't a problem.

I know that you stated you were running Ubuntu, which is great, but what 
version of the database did it come from and what version of the database is it 
going to?  

Anyway, if the original server is still up, I'd just copy from one store to the 
other.  It might be slow to do a 4 day export, but if you are two days into 
this the savings of USB copy has already been lost.  

Gary

--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:http://lists.mysql.com/mysql?unsub=arch...@jab.org



Problem with configuring 32-bit MySQL 5.0 on Windows Vista x64

2009-07-13 Thread Edward Diener
I had previously installed the 64-bit version of MySQL 5.1 server under 
Windows Vista x64 and both the installation and configuration were 
successful. Then for compatibility reasons with something on which I am 
working I realized I needed to install the 32-bit version of MySQL 5.0 
server. Since I did not see anything about installing both on the same 
machine, I decided to uninstall the 64-bit version and then install the 
32-bit version. The uninstall ran successfully.


When I installed MySQL 5.083 32-bit under Windows Vista x64 it installed 
successfully. When I try to configure an instance of that version, all 
steps work successfully until the Apply Security Settings step, which 
fails. The failure message is:


The security settings could not be applied to the database because the 
connection has failed with the following error.


Error Nr. 1045
Accessed denied for user 'root'@'localhost' [using password: YES]'

I have never changed the password from the previous 64-bit version I 
installed and then uninstalled and the 32-bit version I installed.


Any ideas of solving this problem ?



--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:http://lists.mysql.com/mysql?unsub=arch...@jab.org



Re: Copy 70GB ibdata, etc. and server won't start now

2009-07-13 Thread Carlos Proal

On 7/13/2009 9:19 PM, Daevid Vincent wrote:

Both systems are UTC time so I don't get the issue with the sequence number
is in the future business either.

If I ever do get mysqld to start using the innodb_force_recovery = 4 line,
then as you know, I can't alter/update/insert. And it seems any attempt to
do so further corrupts the database and I have to re-copy the 70GB files
again. :-\
  


I think level 4 is not the appropiate, maybe you can  try level 3 or 5 
which are more convenient to skip the log, then you can check if 
everything works fine (aka review you tables integrity) if it is, then 
restore the default value so the next restart would make the recovery if 
neccesary.


Hope this helps.
Carlos




--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:http://lists.mysql.com/mysql?unsub=arch...@jab.org



Re: Problem with configuring 32-bit MySQL 5.0 on Windows Vista x64

2009-07-13 Thread Carlos Proal


Did you deleted the data dir (inside Program Files) after uninstall ?? i 
think that is was not empty and when the new install tries to set up 
finds it and get messy (maybe because the 32 and 64 bit issue).


Carlos

On 7/13/2009 11:07 PM, Edward Diener wrote:
I had previously installed the 64-bit version of MySQL 5.1 server 
under Windows Vista x64 and both the installation and configuration 
were successful. Then for compatibility reasons with something on 
which I am working I realized I needed to install the 32-bit version 
of MySQL 5.0 server. Since I did not see anything about installing 
both on the same machine, I decided to uninstall the 64-bit version 
and then install the 32-bit version. The uninstall ran successfully.


When I installed MySQL 5.083 32-bit under Windows Vista x64 it 
installed successfully. When I try to configure an instance of that 
version, all steps work successfully until the Apply Security 
Settings step, which fails. The failure message is:


The security settings could not be applied to the database because the 
connection has failed with the following error.


Error Nr. 1045
Accessed denied for user 'root'@'localhost' [using password: YES]'

I have never changed the password from the previous 64-bit version I 
installed and then uninstalled and the 32-bit version I installed.


Any ideas of solving this problem ?






--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:http://lists.mysql.com/mysql?unsub=arch...@jab.org