mysql - 在MySQL中永久设置auto_increment_offset

标签 mysql auto-increment

我以 root 身份运行命令:

set @@auto_increment_offset = 2;

但从其他连接看不到效果。为什么不?它是全局性的。

来自http://dev.mysql.com/doc/refman/5.1/en/replication-options-master.html : “如果设置了任一变量的全局值,则其影响将持续存在,直到通过设置 session 值更改或覆盖全局值,或者重新启动 mysqld。”

这似乎与我所看到的不符。

最后,我想知道是否有任何方法可以在不重新启动 mysqld 的情况下永久设置所有客户端的偏移量?

最佳答案

根据 MySQL documentation您需要为 GLOBALSESSION 设置 auto_increment_offset 值。

SET GLOBAL auto_increment_offset  = 2;
SET SESSION auto_increment_offset  = 2;

SHOW VARIABLES LIKE '%auto_increment_offset%';

如果设置了任一变量的全局值,则其影响将持续到通过设置 session 值更改或覆盖全局值,或者重新启动 mysqld 为止。如果设置了本地值,则新值会影响当前用户在 session 期间插入新行的所有表的 AUTO_INCREMENT 列,除非在该 session 期间更改了这些值。

关于mysql - 在MySQL中永久设置auto_increment_offset,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52006397/

相关文章:

MySQL:为大约100,000行的InnoDB表中的列建立索引需要时间?

mysql - SQL 内连接表

php - Highchart 列中没有显示任何内容

postgresql - 要求 Postgres 添加一个不存在的序列值

mysql - 包含文件时 node.js 上的引用错误

php - Advanced Rest 客户端中的数据数组响应无效

mysql - 在MySQL中我无法将主键设置为auto_increment(加上自动说数据类型(11))

xquery - 使用 XQuery 更新自动递增?

c# - 自动递增ID C#

mysql - 尝试使用 REPLACE 和 AUTO_INCREMENT 执行 LOAD DATA INFILE