6 Şubat 2022 Pazar

Global veya Session time_zone Değişkeni - Zaman Bilgisini Sisteminkinden Farklı Bir Şey Yapar

Giriş
Açıklaması şöyle
MySQL sunucusu başladığı zaman time zone olarak sistem saatini kullanır ve system_time_zone değişkenine atar. Bir nedenden ötürü MySQL’in zaman bilgisini sisteminkinden farklı bir time zone’a atamanız gerekirse bu işlemi global ve per-connection olmak üzere iki farklı şekilde yapabilirsiniz.
Eğer bu iki değişkene bir şey atanmamışsa çıktı şöyledir. Yani sistem değerini kullanır
amysql> SELECT @@global.time_zone, @@session.time_zone;
+--------------------+---------------------+ | @@global.time_zone | @@session.time_zone | +--------------------+---------------------+ | SYSTEM | SYSTEM | +--------------------+---------------------+
Sistem değeri şöyledir. Yani UTC'dir 
SELECT @@system_time_zone,@@global.time_zone, @@session.time_zone;

# @@system_time_zone	@@global.time_zone	@@session.time_zone
UTC			SYSTEM			SYSTEM
Global Time Zone
Açıklaması şöyle. Global Time Zone değerinin varsayılan değeri system_time_zone ile aynıdır. Yani sistem zaman dilimidir.
Global time zone MySQL sunucusunun default zaman bilgisini set ederken, per-connection time zone ise sadece ilgili session için zaman bilgisinin atanmasını sağlar; yani per-connection time zone özelliğini kullanarak aynı MySQL sunucusu üzerinde birden fazla uygulama için farklı zone’lar tanımlanabilir.

Örnek olarak global time zone değerini Istanbul’a göre set etmek için aşağıdaki şekilde bir komut kullanabilirsiniz:
mysql> SET GLOBAL time_zone = 'Europe/Istanbul';
Örnek
Şöyle yaparız
SET GLOBAL time_zone = '+8:00';
Session Time Zone
Açıklaması şöyle
Aynı şekilde o anki session’ın time zonu’unu Istanbul yapmak için komut aşağıdaki şekli ile kullanılabilir:
mysql> SET time_zone = 'Europe/Istanbul';

Hem global hem de per-connection time zone’unun ne olduğunu görüntülemek için de şu komutu çalıştırabilirsiniz:
Şöyle yaparız
mysql> SELECT @@global.time_zone, @@session.time_zone;
+--------------------+---------------------+ | @@global.time_zone | @@session.time_zone | +--------------------+---------------------+ | Europe/Istanbul | Europe/Istanbul | +--------------------+---------------------+ 1 row in set (0.01 sec)
Örnek
Şöyle yaparız
SET time_zone = '+8:00';

Hiç yorum yok:

Yorum Gönder

Soft Delete

Giriş Açıklaması  şöyle When using the soft delete mechanism on the database, you might run into a situation where a record with a unique co...