The MERGE Storage Engine Blackhole Engine and Auto Increment Columns The  BLACKHOLE  engine is a no-op engine. Any operations performed on a table using  BLACKHOLE  have no effect. This should be borne in mind when considering the behavior of primary key columns that auto increment. The engine does not automatically increment field values, and does not retain auto increment field state. This has important implications in replication. Consider the following replication scenario where all three of the following conditions apply: 1. On a source server there is a blackhole table with an auto increment field that is a primary key. 2. On a replica the same table exists but using the MyISAM engine. 3. Inserts are performed into the source’s table without explicitly setting the auto increment value in the INSERT  statement itself or through using a  SET INSERT_ID  statement. In this scenario replication fails with a duplicate entry error on the primary key column. In statement based replication, the value of  INSERT_ID  in the context event is always the same. Replication therefore fails due to trying insert a row with a duplicate value for a primary key column. In row based replication, the value that the engine returns for the row always be the same for each insert. This results in the replica attempting to replay two insert log entries using the same value for the primary key column, and so replication fails. When using row-based replication, ( binlog_format=ROW ), a replica where the last columns are missing from a table is supported, as described in the section Section 17.5.1.9, “Replication with Differing Table Definitions on Source and Replica” . This filtering works on the replica side, that is, the columns are copied to the replica before they are filtered out. There are at least two cases where it is not desirable to copy the columns to the replica: Source column filtering can be achieved using the  BLACKHOLE  engine. This is carried out in a way similar to how source table filtering is achieved - by using the  BLACKHOLE  engine and the  --replicate-do- table  or  --replicate-ignore-table  option. 2. If the source has many replicas, filtering before sending to the replicas may reduce network traffic. 1. If the data is confidential, so the replica server should not have access to it. Column Filtering The setup for the source is: CREATE TABLE t1 (public_col_1, ..., public_col_N, secret_col_1, ..., secret_col_M) ENGINE=MyISAM; The setup for the trusted replica is: The setup for the untrusted replica is: CREATE TABLE t1 (public_col_1, ..., public_col_N) ENGINE=BLACKHOLE; CREATE TABLE t1 (public_col_1, ..., public_col_N) ENGINE=MyISAM; 16.7 The MERGE Storage Engine The  MERGE  storage engine, also known as the  MRG_MyISAM  engine, is a collection of identical  MyISAM tables that can be used as one. “Identical”  means that all tables have identical column data types and index information. You cannot merge  MyISAM  tables in which the columns are listed in a different order, 3420