MySQL give me the following error:Do you already have another mysqld server running on port: 3306 ?

2007-12-09 Thread peri

Hi,
I installed MysqL 4.1.22 on windows vista. When  I try to run any command in
Mysql/MySQL server 4.1/bin path it gives me the following error :

C:\Program Files\MySQL\MySQL Server 4.1\binmysqld-max-nt --standalone
Can't start server: Bind on TCP/IP port: Invalid argument
071207 22:50:57 [ERROR] Do you already have another mysqld server running on
port: 3306 ?
071207 22:50:57 [ERROR] Aborting

071207 22:50:57 [Note] mysqld-max-nt: Shutdown complete

Also when I try to run mysqladmin shutdown command it gives me the following
error 

C:\Program Files\MySQL\MySQL Server 4.1\binmysqladmin shutdown
mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'ODBC'@'localhost' (using password: NO)'

I cannot run any command on mysql. Can anyone help me on this issue?
How can I solve this problem 
Thank you
Perihan


-- 
View this message in context: 
http://www.nabble.com/MySQL-give-me-the-following-error%3ADo-you-already-have-another-mysqld-server-running-on-port%3A-3306---tp14236918p14236918.html
Sent from the MySQL - General mailing list archive at Nabble.com.


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



Re: How to auto repair db on hosting with quota

2007-12-09 Thread Artem Kuchin

I won't convert thread style, so, i'm top-posting :)

All this would be great if it worked. The main problem is that
temporary directory option for mysqld iS NOT USED while doing
table repair. All files while repairing tables are placed
in the same directoty with the same owner and group as the original
database files (i mean, for example, .TMD files which can be huge!).

So, i am currenctly stuck with no solultion to the problem.

--
Artem



Russell E Glaue wrote:

Using Quota on Unix, you can specify a different quota soft_limit for
temporary space.
You can set MySQL to use /tmp as the temporary space, then set a
soft_limit of 10mb and a hard_limit of 300MB.
This quota should be separate from the normal user space quota.

With MySQL temp dir set to /tmp, and a soft/hard quota as 10MB/300MB,
the recovery should occur successfully.
And going above the soft_limit gives the user X amount of days to get
back down below the soft_limit. And the user cannot go above the
hard_limit. 
You can set the soft_limit recovery days to like 1 day. They can go

over the 10MB soft_limit for 1 day, up to the hard_limit of 300MB,
but after one day the temp files will be deleted until the soft_limit
is satisfied. 


This is a great way to control temp space, and not let users abuse
it, but still give them a lot of space to perform things like large
mysql database recoveries. 



-RG


Artem Kuchin wrote:

I am asking this question as a hosting PROVIDER, not
as a hosting client.

The sitation is like this (this is a simple example with small
numbers):

1) a client has 100mb quota for site and db files (set on unix group)
2) 80mb is already taken by 75MB database in ONE TABLE and 5mb of
files 3) databases gets broken
4) mysql tried to auto repair the table
5) to repair data it must create a temporary file and this files take
almost as much as 75MB
6) user goes over quota becauase mysql needs another 75MB to reapir
table, and this summs up like 75+75+5 a lot  than 100mb in quota
7) mysql gets stuck on this db
8) people continue to acccess site and connections build up and each
connection waits for repair to be finished
9) eventually mysql runs out of connections and this stop other
clients too.
10) day is ruined.

SO the questions are:

1) Is the way to specify USER/GROUP and PLACE for temporary files
for table repair?
2) Maybe there is some OTHER way to set quota for databases?
3) Is there way to specify max number of connections for a user?

Current solution for this as i see it is to make a daemon which
must connect to database first with administrative privs and
monitor number of connections and repairs using processlist. If some
user does more than allowed number of connection then just kill them
off. If repair accures - then turn off that host for a while and
turn if back on again
when repair finished.

I wonder how it is solved on mass hosting servers.

--
Regards,
Artem


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



A use for REGEXP, I think.

2007-12-09 Thread David Scott
I have a field in a DB that contains something like
lvlscore4:4493,lvlscore5:3232,lvlscore6:6128
I need to select all records where the lvlscore5: is greater than 3000.
I think this can be done using REGEXP but I have read the docs and am non
the wiser for it. Can anyone point me in the right direction?
--
Thanks
David Scott


Re: How to auto repair db on hosting with quota

2007-12-09 Thread Russell E. Glaue
Hmm..,
I thought the temp tables were created in the temp directory.
What version of MySQL are you using?

Perhaps you can temporarily increase the user's hard_limit, and not increase 
the soft_limit. When they have finished recovering, you can reset the 
hard_limit.

Or perhaps it is possible to copy the corrupted database to the temp directory 
(with increased hard_limit), perform the recovery there, then copy it back.
The data directory does not have to remain in the same location in order to be 
recoverable.

This would be the same as the last e-mailed proposed solution, but with two 
extra steps to copy back and forth from the temp directory.

-RG


- Original Message -
From: Artem Kuchin [EMAIL PROTECTED]
To: Russell E Glaue [EMAIL PROTECTED], mysql@lists.mysql.com
Sent: Sunday, December 9, 2007 9:03:45 AM (GMT-0600) America/Chicago
Subject: Re: How to auto repair db on hosting with quota

I won't convert thread style, so, i'm top-posting :)

All this would be great if it worked. The main problem is that
temporary directory option for mysqld iS NOT USED while doing
table repair. All files while repairing tables are placed
in the same directoty with the same owner and group as the original
database files (i mean, for example, .TMD files which can be huge!).

So, i am currenctly stuck with no solultion to the problem.

--
Artem



Russell E Glaue wrote:
 Using Quota on Unix, you can specify a different quota soft_limit for
 temporary space.
 You can set MySQL to use /tmp as the temporary space, then set a
 soft_limit of 10mb and a hard_limit of 300MB.
 This quota should be separate from the normal user space quota.
 
 With MySQL temp dir set to /tmp, and a soft/hard quota as 10MB/300MB,
 the recovery should occur successfully.
 And going above the soft_limit gives the user X amount of days to get
 back down below the soft_limit. And the user cannot go above the
 hard_limit. 
 You can set the soft_limit recovery days to like 1 day. They can go
 over the 10MB soft_limit for 1 day, up to the hard_limit of 300MB,
 but after one day the temp files will be deleted until the soft_limit
 is satisfied. 
 
 This is a great way to control temp space, and not let users abuse
 it, but still give them a lot of space to perform things like large
 mysql database recoveries. 
 
 
 -RG
 
 
 Artem Kuchin wrote:
 I am asking this question as a hosting PROVIDER, not
 as a hosting client.
 
 The sitation is like this (this is a simple example with small
 numbers):
 
 1) a client has 100mb quota for site and db files (set on unix group)
 2) 80mb is already taken by 75MB database in ONE TABLE and 5mb of
 files 3) databases gets broken
 4) mysql tried to auto repair the table
 5) to repair data it must create a temporary file and this files take
 almost as much as 75MB
 6) user goes over quota becauase mysql needs another 75MB to reapir
 table, and this summs up like 75+75+5 a lot  than 100mb in quota
 7) mysql gets stuck on this db
 8) people continue to acccess site and connections build up and each
 connection waits for repair to be finished
 9) eventually mysql runs out of connections and this stop other
 clients too.
 10) day is ruined.
 
 SO the questions are:
 
 1) Is the way to specify USER/GROUP and PLACE for temporary files
 for table repair?
 2) Maybe there is some OTHER way to set quota for databases?
 3) Is there way to specify max number of connections for a user?
 
 Current solution for this as i see it is to make a daemon which
 must connect to database first with administrative privs and
 monitor number of connections and repairs using processlist. If some
 user does more than allowed number of connection then just kill them
 off. If repair accures - then turn off that host for a while and
 turn if back on again
 when repair finished.
 
 I wonder how it is solved on mass hosting servers.
 
 --
 Regards,
 Artem


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



Re: A use for REGEXP, I think.

2007-12-09 Thread Michael Dykman
regex discussion are a little outside of the scope of this list, but I
will offer an opinion:  You can't do math, no matter how simple, in
regular expressions.  I have seen many try and fail.

While I am sure there are circumstances around how that data got that
way, what you really need to do is use the database relationally and
decompose that field into data structures instead of strings, then you
can do pretty much anything you want.

 - michael dykman

On Dec 9, 2007 12:53 PM, David Scott [EMAIL PROTECTED] wrote:
 I have a field in a DB that contains something like
 lvlscore4:4493,lvlscore5:3232,lvlscore6:6128
 I need to select all records where the lvlscore5: is greater than 3000.
 I think this can be done using REGEXP but I have read the docs and am non
 the wiser for it. Can anyone point me in the right direction?
 --
 Thanks
 David Scott




-- 
 - michael dykman
 - [EMAIL PROTECTED]

 - 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/[EMAIL PROTECTED]



Re: A use for REGEXP, I think.

2007-12-09 Thread Rob Wultsch
On Dec 9, 2007 10:53 AM, David Scott [EMAIL PROTECTED] wrote:
 I have a field in a DB that contains something like
 lvlscore4:4493,lvlscore5:3232,lvlscore6:6128
 I need to select all records where the lvlscore5: is greater than 3000.
 I think this can be done using REGEXP but I have read the docs and am non
 the wiser for it. Can anyone point me in the right direction?
 --
 Thanks
 David Scott

Insert lecture about correctly normalizing data.

I think what you suggested is the wrong path for a successful outcome.
 As far as I can tell the regex engine in mysql only returns a
booleans. http://dev.mysql.com/doc/refman/5.0/en/regexp.html . Someone
correct me if I am wrong.

This would work:

SELECT 'lvlscore4:4493,lvlscore5:3232,lvlscore6:6128',
SUBSTRING('lvlscore4:4493,lvlscore5:3232,lvlscore6:6128',

LOCATE('lvlscore5','lvlscore4:4493,lvlscore5:3232,lvlscore6:6128')+length('lvlscore5')+1,
4

) as 'lvlscore5'

4 is  a magic number that will not work if the score is not always of
length 4. If that is the case replacing the last argument of substring
with a bit more logic will sort this problem.

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



Replication - urgent

2007-12-09 Thread Ratheesh K J
Hello All,

I set up replication between 2 servers recently. I just need one db to be 
replicated and the SHOW SLAVE STATUS shows this:

 Relay_Master_Log_File: gyana01-bin.02
 Slave_IO_Running: Yes
 Slave_SQL_Running: No
 Replicate_Do_DB: tallydb,tallydb

Now the problem is that there is another db named tallydbopextblob and the 
tables from this db are also getting replicated as shown in the below line.

Last_Error: Error 'Table 'tallydbopextblob.TBL_EVAL_PITEM_OP_EXT_DETAILS' 
doesn't exist' on query. Default database: 'tallydb'. Query: 'INSERT INTO 
tallydbopextblob.TBL_EVAL_PITEM_OP_EXT_DETAILS( 
FLD_OP_INPUT_DATA,FLD_OP_INDEX_DATA1,FLD_OP_INSTANCE_ID) 
VALUES('type=FPCONNECTsource=TALLYrequest_type=ACTIVATIONoffline_flag=0serial=372123675major_version=7minor_version=2major_release=3minor_release=14build_num=rel7.2_3.14_2007-05-21_19.33platform=WINos=WINuser_name=serverhost_name=SERVERlic_ver=2fingerprint63=1mQ0nE8HkaBlNRg==aa,3GAwmgzLMbCGNJyMyaa,3GAwmgzLMbCGNJyMyaa,2NDkxODk0MjUyAA==finger_print=5qZEKE5HgchxNpnOZ3GyZaaserver_id=0activation_code
 ...


Why is this happening?

Thanks  regards,
Ratheesh

Re: A use for REGEXP, I think.

2007-12-09 Thread Rob Wultsch
On Dec 9, 2007 9:17 PM, Rob Wultsch [EMAIL PROTECTED] wrote:

 On Dec 9, 2007 10:53 AM, David Scott [EMAIL PROTECTED] wrote:
  I have a field in a DB that contains something like
  lvlscore4:4493,lvlscore5:3232,lvlscore6:6128
  I need to select all records where the lvlscore5: is greater than 3000.
  I think this can be done using REGEXP but I have read the docs and am non
  the wiser for it. Can anyone point me in the right direction?
  --
  Thanks
  David Scott
 
 Insert lecture about correctly normalizing data.

 I think what you suggested is the wrong path for a successful outcome.
  As far as I can tell the regex engine in mysql only returns a
 booleans. http://dev.mysql.com/doc/refman/5.0/en/regexp.html . Someone
 correct me if I am wrong.

 This would work:

 SELECT 'lvlscore4:4493,lvlscore5:3232,lvlscore6:6128',
 SUBSTRING('lvlscore4:4493,lvlscore5:3232,lvlscore6:6128',
 
 LOCATE('lvlscore5','lvlscore4:4493,lvlscore5:3232,lvlscore6:6128')+length('lvlscore5')+1,
 4

 ) as 'lvlscore5'

 4 is  a magic number that will not work if the score is not always of
 length 4. If that is the case replacing the last argument of substring
 with a bit more logic will sort this problem.


To be clear the regex should work, but it will probably take more work
than what I just suggested. Using what I suggested in the where clause
rather than as shown in the select clause will probably be the easiest
solution.

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