Several bugs are present in the server when mixing local tables and distributed tables in the same database. These bugs are not possible to solve without storage engine dedicated databases (i.e. to be able to specify distributed databases by binding them to NdbCluster or some other distributed storage engine). However, in a migration scenario the possibility of mixing is desirable, and also some mixing is done for performance reasons in a system table used by cluster replication. To support the possibility of enforcing totally distributed databases, these have to be possible to tag with a storage engine: CREATE DATABASE <name> STORAGE_ENGINE=<storage_engine> [ONLY]; Setting the storage engine for a database should define the default engine for a database (if none is specified in CREATE TABLE). Trying to create a table in the database that is not belonging to the ONLY defined storage engine should consequently fail. Setting the current database as this database, i.e. with USE <db_name>;, should overide the default storage engine setting.