Hi guys, I've got a weirdo problem with replicating a database. Sometimes I get some duplicate keys problems for _only_ one table. There is nothing special about this table, it looks like:
+----------+--------------------------------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +----------+--------------------------------------+------+-----+---------+----------------+ | id | int(10) unsigned | | PRI | NULL | auto_increment | | dialer | int(10) unsigned | YES | | NULL | | | uid | int(10) unsigned | | | 0 | | | action | enum('REGENERATE','CREATE','DELETE') | YES | | NULL | | | acc_no | int(10) unsigned | YES | | NULL | | | template | int(10) unsigned | YES | | NULL | | | name | varchar(20) | YES | | NULL | | | status | enum('OKAY','ERROR') | | | OKAY | | +----------+--------------------------------------+------+-----+---------+----------------+ And data is inserted into it with simple inserts, w/o specifing the id (it's autoincrementing). With a little debugging, I have located the problem. If I run 'alter table xxx auto_increment=1' on both the master and the slave (this table is empty at the time on both machines), and then I insert datas into the master, they look like: On master: +----+--------+------+------------+--------+----------+---------------+--------+ | 1 | 3 | 1007 | REGENERATE | NULL | NULL | NULL | OKAY | | 2 | 4 | 1007 | REGENERATE | NULL | NULL | NULL | OKAY | | 3 | 5 | 1007 | REGENERATE | NULL | NULL | NULL | OKAY | | 4 | 6 | 1007 | REGENERATE | NULL | NULL | NULL | OKAY | | 5 | 13 | 1007 | REGENERATE | NULL | NULL | NULL | OKAY | | 6 | 14 | 1007 | REGENERATE | NULL | NULL | NULL | OKAY | | 7 | 18 | 1007 | REGENERATE | NULL | NULL | NULL | OKAY | | 8 | 19 | 1007 | REGENERATE | NULL | NULL | NULL | OKAY | | 9 | 20 | 1007 | REGENERATE | NULL | NULL | NULL | OKAY | | 10 | 21 | 1007 | REGENERATE | NULL | NULL | NULL | OKAY | +----+--------+------+------------+--------+----------+------+--------+ But on slave it looks like: +----+--------+------+------------+--------+----------+------+--------+ | id | dialer | uid | action | acc_no | template | name | status | +----+--------+------+------------+--------+----------+------+--------+ | 10 | 3 | 1007 | REGENERATE | NULL | NULL | NULL | OKAY | | 11 | 4 | 1007 | REGENERATE | NULL | NULL | NULL | OKAY | | 12 | 5 | 1007 | REGENERATE | NULL | NULL | NULL | OKAY | | 13 | 6 | 1007 | REGENERATE | NULL | NULL | NULL | OKAY | | 14 | 13 | 1007 | REGENERATE | NULL | NULL | NULL | OKAY | | 15 | 14 | 1007 | REGENERATE | NULL | NULL | NULL | OKAY | | 16 | 18 | 1007 | REGENERATE | NULL | NULL | NULL | OKAY | | 17 | 19 | 1007 | REGENERATE | NULL | NULL | NULL | OKAY | | 18 | 20 | 1007 | REGENERATE | NULL | NULL | NULL | OKAY | | 19 | 21 | 1007 | REGENERATE | NULL | NULL | NULL | OKAY | +----+--------+------+------------+--------+----------+------+--------+ Why does it start on the id=10 on the slave? Of course, this is the cause for the replication failures later on, because datas are deleted on the master with 'delete from xxx where id=3', for example, action which doesn't delete anything on the slave (because there is no id=3 entry), thus inconsistency. I'm using 4.0.13 on both machines. Thanks, bogdan -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]