正在运行show variables like 'server%'
将server_id
显示为变量名称。
但是在my.cnf
中,有一个server-id
的条目(尽管已被注释掉)
它们之间有区别吗?
答案 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 Variables和mysqld 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 |
+-----------+-------------+