我有一个MariaDB Galera集群(3个节点),我设置uid
为自动增加并成为表的主键
`uid | int(11) | NO | PRI | NULL | auto_increment`. MariaDB [hello_cluster]> select uid from table order by uid limit 10; +-----+ | uid | +-----+ | 3 | | 6 | | 9 | | 12 | | 15 | | 18 | | 21 | | 24 | | 27 | | 30 | +-----+
我尝试了以下命令,但它不起作用
alter table uid AUTO_INCREMENT=1
user2864740.. 19
这是设计使然并在MariaDB Galera Cluster中报告- 已知限制:
不要依赖自动增量值来顺序.Galera使用基于自动增量增量的机制来产生唯一的非冲突序列,因此在每个节点上序列都会有间隙.
在使用多主机管理自动增量中解释了理性,这也是观察到的自动增量与群集数量具有相同步骤的原因.
MySQL具有系统变量auto_increment_increment和auto_increment_offset,用于管理多主环境中的自动增量"序列".使用这些变量,可以设置多主复制,其中每个主节点中的自动递增序列交错,并且群集中不应发生冲突.无论哪个主人获得INSERT.
即使没有集群,由于事务回滚和删除的记录,依赖自动增量列成为密集序列也很少"好".
这是设计使然并在MariaDB Galera Cluster中报告- 已知限制:
不要依赖自动增量值来顺序.Galera使用基于自动增量增量的机制来产生唯一的非冲突序列,因此在每个节点上序列都会有间隙.
在使用多主机管理自动增量中解释了理性,这也是观察到的自动增量与群集数量具有相同步骤的原因.
MySQL具有系统变量auto_increment_increment和auto_increment_offset,用于管理多主环境中的自动增量"序列".使用这些变量,可以设置多主复制,其中每个主节点中的自动递增序列交错,并且群集中不应发生冲突.无论哪个主人获得INSERT.
即使没有集群,由于事务回滚和删除的记录,依赖自动增量列成为密集序列也很少"好".