Разница между идентификатором сервера и идентификатором сервера в MySQL - PullRequest
0 голосов
/ 06 января 2019

Запуск show variables like 'server%' показывает server_id в качестве имени переменной.

Но в my.cnf есть запись для server-id (хотя закомментировано)

Есть ли разница между ними?

Ответы [ 2 ]

0 голосов
/ 07 января 2019

MySQL

4.2.9 Использование опций для установки программных переменных :

...

Если хотите, подчеркивания в имени переменной можно указать как черточки. Следующие группы опций эквивалентны. Оба устанавливают размер из буфера ключа сервера до 512 МБ:

[mysqld]
key_buffer_size=512M

[mysqld]
key-buffer-size=512M

...

MariaDB

Системные переменные сервера и mysqld Опции :

...

По соглашению переменные сервера обычно указываются с подчеркивание в файлах конфигурации и тире в командной строке. Однако вы можете указать подчеркивание как тире - они взаимозаменяемы.

...

Тест 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 |
+-----------+-------------+
0 голосов
/ 06 января 2019

Они одинаковы, но, как указано в в этом посте , если ваш идентификатор сервера не изменился, установив my.cfg, вы можете попробовать установить его, подчеркнув

[mysqld]
server_id = 2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...