Sponsored Content
Top Forums Web Development MySQL Replication Issues: Duplicate Key Error Post 302377908 by jsmithstl on Saturday 5th of December 2009 07:17:13 PM
Old 12-05-2009
I'm an Oracle DBA and haven't used MySql. However, queries can be run against the tables based on the key columns to determine which rows are duplicates. I'm guessing that cleaning up the duplicates in the master, will in turn, fix the slaves.

Code:
select <KEY COLUMN>, count(*)
  from <TABLE>
 having count(*) > 1
 group by <KEY COLUMN>;

 

5 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How to delete duplicate records based on key

For example suppose I have a file which contains data as: $cat data 800,2 100,9 700,3 100,9 200,8 100,3 Now I want the output as 200,8 700,3 800,2 Key is first three characters, I don't want any reords which are having duplicate keys. Like sort +0.0 -0.3 data can we use... (9 Replies)
Discussion started by: sumitc
9 Replies

2. UNIX for Dummies Questions & Answers

forming duplicate rows based on value of a key

if the key (A or B or ...others) has 4 in its 3rd column the 1st A row has to form 4 dupicates along with the all the values of A in 4th column (2.9, 3.8, 4.2) . Hope I explain the question clearly. Cheers Ruby input "A" 1 4 2.9 "A" 2 5 ... (7 Replies)
Discussion started by: ruby_sgp
7 Replies

3. Shell Programming and Scripting

Strategical Shell Scripting For MySql Replication

Hi to all guyz , As i'm new to Shell scripting i was been working out to write a shell script for mysql Replication for multiple slave master architecture.i have done the process up with a script of 200 lines but still there are some things which can make my script more effective so i want your... (5 Replies)
Discussion started by: kgrvamsi
5 Replies

4. Programming

MySQL auto_increment, primary key

Hello, I want to create a table in mysql database by loading the local file. I am confused with the auto_increment column (say Run_ID) that I want to set it as primary key. My questions are: 1) Do I need add this Run_ID in my file ready? then this does not make any sense to the auto_increment;... (5 Replies)
Discussion started by: yifangt
5 Replies

5. Linux

Mysql replication

Need to recover a replication broken error on the mysql slave server. I want to force it to resend the binlog file from the begining. What is the correct value for the: MASTER_LOG_POS ? 0, 1 or 107 ? (2 Replies)
Discussion started by: andriesh
2 Replies
MYSQLND_MS_QUERY_IS_SELECT(3)						 1					     MYSQLND_MS_QUERY_IS_SELECT(3)

mysqlnd_ms_query_is_select - Find whether to send the query to the master, the slave or the last used MySQL server

SYNOPSIS
int mysqlnd_ms_query_is_select (string $query) DESCRIPTION
Finds whether to send the query to the master, the slave or the last used MySQL server. The plugins built-in read/write split mechanism will be used to analyze the query string to make a recommendation where to send the query. The built-in read/write split mechanism is very basic and simple. The plugin will recommend sending all queries to the MySQL replication master server but those which begin with SELECT, or begin with a SQL hint which enforces sending the query to a slave server. Due to the basic but fast algorithm the plugin may propose to run some read-only statements such as SHOW TABLES on the replication master. PARAMETERS
o $query - Query string to test. RETURN VALUES
A return value of MYSQLND_MS_QUERY_USE_MASTER indicates that the query should be send to the MySQL replication master server. The function returns a value of MYSQLND_MS_QUERY_USE_SLAVE if the query can be run on a slave because it is considered read-only. A value of MYSQLND_MS_QUERY_USE_LAST_USED is returned to recommend running the query on the last used server. This can either be a MySQL replication master server or a MySQL replication slave server. If read write splitting has been disabled by setting mysqlnd_ms.disable_rw_split, the function will always return MYSQLND_MS_QUERY_USE_MASTER or MYSQLND_MS_QUERY_USE_LAST_USED. EXAMPLES
Example #1 mysqlnd_ms_query_is_select(3) example <?php function is_select($query) { switch (mysqlnd_ms_query_is_select($query)) { case MYSQLND_MS_QUERY_USE_MASTER: printf("'%s' should be run on the master. ", $query); break; case MYSQLND_MS_QUERY_USE_SLAVE: printf("'%s' should be run on a slave. ", $query); break; case MYSQLND_MS_QUERY_USE_LAST_USED: printf("'%s' should be run on the server that has run the previous query ", $query); break; default: printf("No suggestion where to run the '%s', fallback to master recommended ", $query); break; } } is_select("INSERT INTO test(id) VALUES (1)"); is_select("SELECT 1 FROM DUAL"); is_select("/*" . MYSQLND_MS_LAST_USED_SWITCH . "*/SELECT 2 FROM DUAL"); ?> The above example will output: INSERT INTO test(id) VALUES (1) should be run on the master. SELECT 1 FROM DUAL should be run on a slave. /*ms=last_used*/SELECT 2 FROM DUAL should be run on the server that has run the previous query SEE ALSO
Predefined Constants, user filter .Runtime configuration, mysqlnd_ms.disable_rw_split, mysqlnd_ms.enable. PHP Documentation Group MYSQLND_MS_QUERY_IS_SELECT(3)
All times are GMT -4. The time now is 12:03 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy