MySQL中server-id和server_id之间的区别

时间:2019-01-06 16:30:40

标签: mysql mariadb

正在运行show variables like 'server%'server_id显示为变量名称。

但是在my.cnf中,有一个server-id的条目(尽管已被注释掉)

它们之间有区别吗?

2 个答案:

答案 0 :(得分:1)

它们相同,但与this post中所述相同,如果未通过设置my.cfg来更改服务器ID,则可以尝试通过下划线设置它

[mysqld]
server_id = 2

答案 1 :(得分:0)

MySQL

4.2.9 Using Options to Set Program Variables

  

...

     

如果愿意,可以将变量名中的下划线指定为   破折号。以下选项组是等效的。两者都设置大小   服务器的密钥缓冲区的最大容量为512MB:   

[mysqld]
key_buffer_size=512M

[mysqld]
key-buffer-size=512M
     

...

MariaDB

Server System Variablesmysqld Options

  

...

     

按照惯例,服务器变量通常使用   在配置文件中下划线,并在命令行上使用破折号。   但是,您可以将下划线指定为破折号-它们是   可互换的。

     

...

测试MySQL

文件:my.cnf

[mysqld]
. 
.
.
server_id=987
.
.
.

命令行:

$ mysql --execute="SELECT VERSION(), @@server_id"
+-----------+-------------+
| VERSION() | @@server_id |
+-----------+-------------+
| 8.0.13    |         987 |
+-----------+-------------+

文件:my.cnf

[mysqld]
.
.
.
server-id=321
.
.
.

命令行:

$ sudo systemctl restart mysql

$ mysql --execute="SELECT VERSION(), @@server_id"
+-----------+-------------+
| VERSION() | @@server_id |
+-----------+-------------+
| 8.0.13    |         321 |
+-----------+-------------+