在mysql中永久设置auto\u increment\u offset

2w3kk1z5  于 2021-06-20  发布在  Mysql
关注(0)|答案(2)|浏览(451)

我以root身份运行命令:

set @@auto_increment_offset = 2;

但从其他方面看不出效果。为什么不?它是全球性的。
从http://dev.mysql.com/doc/refman/5.1/en/replication-options-master.html:“如果设置了其中一个变量的全局值,则其效果将持续,直到全局值被更改或通过设置会话值被覆盖,或者直到mysqld重新启动。”
这似乎与我所看到的不一致。
最后,我想知道是否有任何方法可以永久设置所有客户端的偏移量而不重新启动mysqld?

lnlaulya

lnlaulya1#

若要全局设置,应添加前缀“global”或“@@global”。例如-

SET @@GLOBAL.auto_increment_offset = 2;

“@@”与“session”或“@@session”相同,它设置session变量。
使用系统变量。

swvgeqrz

swvgeqrz2#

根据mysql文档,您需要设置 auto_increment_offset 两者皆适用 GLOBAL 以及 SESSION .

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

SHOW VARIABLES LIKE '%auto_increment_offset%';

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

相关问题