在MySQL中永久设置auto_increment_offset

Fan*_*ius 0 mysql auto-increment

我以root身份运行命令:

set @@auto_increment_offset = 2;
Run Code Online (Sandbox Code Playgroud)

但是其他连接无法看到效果.为什么不?它是全球性的.

来自http://dev.mysql.com/doc/refman/5.1/en/replication-options-master.html :"如果设置了任一变量的全局值,其效果将持续存在,直到全局值被更改或覆盖为设置会话值,或直到mysqld重新启动."

这似乎与我所看到的不一致.

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

Ome*_*esh 5

按MySQL的文档,你需要设置的值,auto_increment_offset两个GLOBALSESSION.

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

SHOW VARIABLES LIKE '%auto_increment_offset%';
Run Code Online (Sandbox Code Playgroud)

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