As to replication filtering, MySQL provides filtering on the slave server, whereas with PostgreSQL, no filtering is available; in other worlds, the entire database from the master is replicated to the slave. With MySQL, all the information is sent, but then options exist to selectively apply the replicated events on the slave. However, as the MySQL binary log is not used for crash recovery purposes in the same way as PostgreSQLs WAL is, a user can configure a MySQL master so only certain databases are logged and, in that sense, a filter for the master server is available.
Found this confusing, anyway, speaking of Mysql 5.1:
- "replicate-ignore-db=mydb" + "USE mydb; /*query*/"
will NOT send the log to the slaves
- "replicate-wild-ignore-table = mydb.t1" + "USE mydb; INSERT INTO t1"
WILL send the log to the slaves and there it will be fltered