The PR adds MySQLIdentityColumnMaxValueIncrementer to resolve #18989.

Using a MySQL auto-increment column as a sequence with AbstractIdentityColumnMaxValueIncrementer was not practical before MySQL 8 as the auto-increment counter was only stored in memory but not persisted. With MySQL 8.0 and InnoDB, this behavior has changed: https://dev.mysql.com/doc/refman/8.0/en/innodb-auto-increment-handling.html#innodb-auto-increment-initialization

With MySQL 8 and InnoDB, the new incrementer can be used safely in a setup with active-active replication. If the database parameters auto_increment_increment and auto_increment_offset are configured appropriately, the incrementer will not produce duplicate ids even if different database instances are queried.

I've assembled a toy setup with a multi-threaded test against two MySQL instances with active-active replication here: https://github.com/hpoettker/mysql-incrementer-demo