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
Post a Comment