content_image/726544.jpg content_image/726552.jpg
<img src='content_image/726544.jpg'>

## Note 

Due to this change in behavior, a partially completed DROP VIEW  operation on a MySQL 5.7 replication source server fails when replicated on a MySQL 8.0 replica. To avoid this failure scenario, use IF EXISTS  syntax in DROP VIEW statements to prevent an error from occurring for views that do not exist. 

•Partial execution of account management statements is no longer permitted. Account management statements either succeed for all named users or roll back and have no effect if an error occurs. In earlier MySQL versions, account management statements that name multiple users could succeed for some users and fail for others. 

The change in behavior is demonstrated in this example, where the second CREATE USER  statement returns an error but fails because it cannot succeed for all named users. 

mysql> CREATE USER userA; mysql> CREATE USER userA, userB; ERROR 1396 (HY000): Operation CREATE USER failed for ’userA’@’%’ mysql> SELECT User FROM mysql.user WHERE User LIKE ’user%’; +-------+ | User | +-------+ | userA | +-------+ 

Prior to the introduction of atomic DDL, the second CREATE USER  statement returns an error for the named user that does not exist but succeeds for the named user that does exist: 

## Storage Engine Support 

mysql> CREATE USER userA; mysql> CREATE USER userA, userB; ERROR 1396 (HY000): Operation CREATE USER failed for ’userA’@’%’ mysql> SELECT User FROM mysql.user WHERE User LIKE ’user%’; +-------+ | User | +-------+ | userA | | userB | +-------+ 

<img src='content_image/726552.jpg'>

## Note 

Due to this change in behavior, partially completed account management statements on a MySQL 5.7 replication source server fail when replicated on a MySQL 8.0 replica. To avoid this failure scenario, use IF EXISTS  or IF NOT EXISTS  syntax, as appropriate, in account management statements to prevent errors related to named users. 

Currently, only the InnoDB  storage engine supports atomic DDL. Storage engines that do not support atomic DDL are exempted from DDL atomicity. DDL operations involving exempted storage engines remain capable of introducing inconsistencies that can occur when operations are interrupted or only partially completed. 

To support redo and rollback of DDL operations, InnoDB  writes DDL logs to the mysql.innodb_ddl_log  table, which is a hidden data dictionary table that resides in the mysql.ibd data dictionary tablespace. 

