【 使用环境 】 测试环境
【 使用版本 】OB4.2
创建mysql租户后,在租户中设置如下:
SET GLOBAL auto_increment_increment=2;
SET GLOBAL auto_increment_offset=2;
使用一段时间后,自增ID不按照正常设置的增长,从1000002开始增长,再使用一段时间后,从2000002增长,应该怎样设置才可以正常。
我也遇到这个问题了,您那边解决了吗?
麻烦把
select version();
show create table xxx;
的结果截图放上来看一下,便于判断。
例如,我的 4.2.1 中,我创建了一张自增表,会有如下显示:
CREATE TABLE `t2` (
`c1` int(11) NOT NULL AUTO_INCREMENT,
`c2` int(11) DEFAULT NULL,
PRIMARY KEY (`c1`)
) AUTO_INCREMENT = 1 AUTO_INCREMENT_MODE = 'ORDER' DEFAULT CHARSET = utf8mb4 ROW_FORMAT = DYNAMIC COMPRESSION = 'zstd_1.3.8' REPLICA_NUM = 2 BLOCK_SIZE = 16384 USE_BLOOM_FILTER = FALSE TABLET_SIZE = 134217728 PCTFREE = 0
partition by hash(c1)
(partition `p0`,
partition `p1`,
partition `p2`)
其中,AUTO_INCREMENT_MODE = 'ORDER'
表示自增值将会顺序分配,不会每台机器上缓存独立的区间。如果是 AUTO_INCREMENT_MODE = 'NOORDER'
,则可能出现你说的这种现象,因为不同机器上缓存的数据区段不同,当使用分区表、或者出现切主等情况时,则会出现“跳变”。