triggers - Cancel DELETE on MySQL REPLICATE -


i'm looking way prevent delete statement on mysql replication master/slave.

in case, master live database, fresh entries (not older week), , slave archive database must contains entries.

i have several problems test:

  • if raise exception in slave before delete trigger, signal sqlstate '45000' set message_text = 'delete canceled';

the sql exception raise error , stop slave.

  • if raise warning, slave keep running delete not canceled
  • i can't modify my.cnf of mysql.
  • i can't use boolean attribute hide on master, show on slave (master database must little possible).

i rack brain on since few days, , 'm running out of ideas ...

you better off writing deletes audit table.

problem preventing deletes in slaves is: if try insert row pk deleted in master , if have somehow prevented delete in slave, insert fail in slave.

you can track deleted rows in different table same structure.

http://www.techonthenet.com/mysql/triggers/before_delete.php

create trigger audit_before_delete before delete    on yourtable each row  begin     -- find deleted row , insert record audit table    -- insert yourtable_audit values (old.id, old.name, old.description);  end; 

Comments

Popular posts from this blog

c# - Validate object ID from GET to POST -

node.js - Custom Model Validator SailsJS -

php - Find a regex to take part of Email -