MySQL разница между @@ global.timezone и @@ system_time_zone - PullRequest
0 голосов
/ 17 апреля 2020

Я могу предположить, но не могу найти конкретный c ответ на вопрос, в чем разница между @@ global.timezone и @@ system_time_zone. Я предполагаю, что @@ global - это набор переменных, установленных для MySQL, и что они могут быть установлены в My.cnf? И это, поскольку я не установил его, поэтому, если я запускаю

SELECT @@global.timezone;    

, я получаю ответ SYSTEM.

На моей машине linux dev у меня установлена ​​системная дата BST и так, я предполагаю, поэтому, когда я запускаю

SELECT @@system_time_zone;

, я получаю ответ BST.

Это правильно? Если это правильно, значит ли это, что я могу изменить @@ global.timezone, установив значения в my.cnf, но что единственный способ изменить настройку @@ system_time_zone - это изменить конфигурацию даты сервера linux? Или есть способ, которым я могу обновить @@ system_time_zone в MySQL?

Если честно, основной смысл этого вопроса - полностью понять разницу между глобальным и системным часовым поясом, но знать, как изменить system_time_zone было бы здорово (я использую довольно старую версию - 5.6.46 и 5.6.47 (2 разные машины)

1 Ответ

0 голосов
/ 17 апреля 2020

Это довольно хорошо задокументировано в Справочном руководстве MySQL. На самом деле не нужно «угадывать» или «предполагать», когда мы можем его искать.

https://dev.mysql.com/doc/refman/5.6/en/time-zone-support.html

выдержки:

Системный часовой пояс. Когда сервер запускается, он пытается автоматически определить часовой пояс хост-машины и использует его для установки системной переменной system_time_zone. После этого значение не меняется.

Чтобы явно указать системный часовой пояс для MySQL Сервер при запуске, установите переменную среды TZ перед запуском mysqld. Если вы запускаете сервер с помощью mysqld_safe, его опция --timezone предоставляет другой способ установки часового пояса системы. Допустимые значения для TZ и --timezone зависят от системы. Обратитесь к документации по вашей операционной системе, чтобы узнать, какие значения допустимы.


Текущий часовой пояс сервера. Глобальная системная переменная time_zone указывает часовой пояс, в котором работает сервер. Начальное значение часового пояса - «SYSTEM», которое указывает, что часовой пояс сервера совпадает с часовым поясом системы.


(Приношу свои извинения, если вы уже просмотрели документацию и у вас не было конкретного c вопроса, на который там не было ответа ... в вопросе нет упоминания о том, что с документацией уже ознакомились.)

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