在MySQL中永久设置自动增量偏移量

在MySQL中永久设置自动增量偏移量,mysql,auto-increment,Mysql,Auto Increment,我以root用户身份运行命令: set @@auto_increment_offset = 2; 但从其他方面看不出这种影响。为什么不呢?它是全球性的 发件人: 如果设置了任一变量的全局值,则其效果将持续,直到通过设置会话值更改或覆盖全局值,或者直到mysqld重新启动 这似乎与我所看到的不一致 最后,我想知道是否有任何方法可以在不重新启动mysqld的情况下永久设置所有客户端的偏移量?要全局设置偏移量,应添加前缀“GLOBAL”或“@@GLOBAL”。比如说- SET @@GLOBAL.au

我以root用户身份运行命令:

set @@auto_increment_offset = 2;
但从其他方面看不出这种影响。为什么不呢?它是全球性的

发件人: 如果设置了任一变量的全局值,则其效果将持续,直到通过设置会话值更改或覆盖全局值,或者直到mysqld重新启动

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


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

要全局设置偏移量,应添加前缀“GLOBAL”或“@@GLOBAL”。比如说-

SET @@GLOBAL.auto_increment_offset = 2;
“@@”与“会话”或“@@SESSION”相同,它设置会话变量

.

根据MySQL,您需要为
全局
会话
设置
自动增量偏移
的值

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

SHOW VARIABLES LIKE '%auto_increment_offset%';

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

它还需要添加到配置文件中才能真正永久。我的操作假设是“set@@variable=x”与“set global variable=x”相同。一点也不正确。好吧!
“set@@variable=x”
相当于
“set SESSION variable=x”