MySQL için Azure Veritabanı - Esnek Sunucuda sunucu parametreleri
ŞUNLAR IÇIN GEÇERLIDIR: MySQL için Azure Veritabanı - Esnek Sunucu
Bu makalede, esnek MySQL için Azure Veritabanı sunucuda sunucu parametrelerini yapılandırmaya yönelik önemli noktalar ve yönergeler sağlanmaktadır.
Not
Bu makalede, Microsoft'un artık kullanmadığı köle terimi geçmektedir. Terim yazılımdan kaldırıldığında, bu makaleden kaldıracağız.
Sunucu değişkenleri nedir?
MySQL altyapısı, altyapı davranışını yapılandırmak ve ayarlamak için kullanılabilecek birçok farklı sunucu değişkeni/parametresi sağlar. Bazı parametreler çalışma zamanı sırasında dinamik olarak ayarlanabilirken, diğerleri "statiktir" ve uygulanabilmesi için sunucunun yeniden başlatılmasını gerektirebilir.
MySQL için Azure Veritabanı esnek sunucu, çeşitli MySQL sunucu parametrelerinin değerini değiştirmek içinİş yükünüzün gereksinimlerini karşılamak için Azure portalı ve Azure CLI.
Yapılandırılabilir sunucu parametreleri
Sunucu parametrelerini kullanarak MySQL için Azure Veritabanı esnek sunucu yapılandırmasını yönetebilirsiniz. Sunucu parametreleri, sunucuyu oluşturduğunuzda varsayılan ve önerilen değerle yapılandırılır. Azure portalındaki sunucu parametresi dikey penceresi hem değiştirilebilir hem de değiştirilemeyen sunucu parametrelerini gösterir. Değiştirilemez sunucu parametreleri gri renktedir.
Desteklenen sunucu parametreleri listesi sürekli büyüyor. Tam listeyi görüntülemek ve sunucu parametreleri değerlerini yapılandırmak için Azure portalındaki sunucu parametreleri sekmesini kullanın.
Yaygın olarak güncelleştirilen birkaç sunucu parametresinin sınırları hakkında daha fazla bilgi edinmek için aşağıdaki bölümlere bakın. Sınırlar, sunucunun işlem katmanına ve boyutuna (sanal çekirdekler) göre belirlenir.
Not
- Portalı kullanarak statik sunucu parametresini değiştirirseniz değişikliklerin etkili olması için sunucuyu yeniden başlatmanız gerekir. Otomasyon betikleri kullanıyorsanız (ARM şablonları , Terraform, Azure CLI vb.) yapılandırmaları oluşturma deneyiminin bir parçası olarak değiştirseniz bile ayarların etkili olması için betiğinizin hizmeti yeniden başlatmaya yönelik bir sağlaması olmalıdır.
- Ortamınız için değiştirilemeyen bir sunucu parametresini değiştirmek istiyorsanız, lütfen bir UserVoice öğesi açın veya öncelik belirlememize yardımcı olabilecek geri bildirim mevcutsa oy verin.
lower_case_table_names
MySQL sürüm 5.7 için, esnek MySQL için Azure Veritabanı sunucuda varsayılan değer 1'dir. Desteklenen değeri 2 olarak değiştirmek mümkün olsa da 2'den 1'e geri döndürmeye izin verilmediğini unutmayın. Varsayılan değeri değiştirmeyle ilgili yardım için destek ekibimize başvurun. MySQL sürüm 8.0+ için lower_case_table_names yalnızca sunucuyu başlatırken yapılandırılabilir. Daha fazla bilgi edinin. Sunucu başlatıldıktan sonra lower_case_table_names ayarını değiştirmek yasaktır. MySQL sürüm 8.0 için, esnek MySQL için Azure Veritabanı sunucuda varsayılan değer 1'dir. MySQL sürüm 8.0 için desteklenen değer, esnek MySQL için Azure Veritabanı sunucuda 1 ve 2'dir. Sunucu oluşturma sırasında varsayılan değeri değiştirmeyle ilgili yardım için destek ekibimize başvurun.
innodb_tmpdir
MySQL için Azure Veritabanı Esnek Sunucusu'ndaki innodb_tmpdir parametresi, yeniden derleyen çevrimiçi ALTER TABLE işlemleri sırasında oluşturulan geçici sıralama dosyalarının dizinini tanımlamak için kullanılır. varsayılan innodb_tmpdir değeridir /mnt/temp
. Bu konum, her sunucu işlem boyutuyla GiB'de kullanılabilen geçici depolama SSD'sine karşılık gelir. Bu konum, büyük miktarda alan gerektirmeyen işlemler için idealdir.
Daha fazla alan gerekiyorsa, innodb_tmpdir olarak /app/work/tmpdir
ayarlayabilirsiniz. Bu, MySQL için Azure Veritabanı Esnek Sunucunuzda bulunan depolama alanınızı ve kapasitenizi kullanır. Bu, daha geçici depolama gerektiren daha büyük işlemler için yararlı olabilir.
Kullanımın varsayılan geçici depolama (SSD) /mnt/temp
ile karşılaştırıldığında daha yavaş performansa neden olduğunu /app/work/tmpdir
unutmayın. Seçim, işlemlerin belirli gereksinimlerine göre yapılmalıdır.
için innodb_tmpdir
sağlanan bilgiler, varsayılan değerin /mnt/temp
yaygın olduğu innodb_temp_tablespaces_dir, tmpdir ve slave_load_tmpdir parametreleri için geçerlidir ve alternatif dizin/app/work/tmpdir
, belirli işletimsel gereksinimlere göre performans açısından dengeleme ile daha yüksek geçici depolamayı yapılandırmak için kullanılabilir.
log_bin_trust_function_creators
esnek MySQL için Azure Veritabanı sunucuda ikili günlükler her zaman etkinleştirilir (yani, log_bin
ON olarak ayarlanır). log_bin_trust_function_creators, esnek sunucularda varsayılan olarak ON olarak ayarlanır.
İkili günlük biçimi her zaman SATIR'dır ve sunucuya yapılan tüm bağlantılar ALWAYS satır tabanlı ikili günlük kaydı kullanır. Satır tabanlı ikili günlük kaydı ile güvenlik sorunları yoktur ve ikili günlük kaydı bozulamaz, bu nedenle güvenli bir şekilde AÇıK kalmasına izin vekleyebilirsinizlog_bin_trust_function_creators
.
[log_bin_trust_function_creators
] KAPALI olarak ayarlanırsa, tetikleyiciler oluşturmaya çalışırsanız, SUPER ayrıcalığına sahip olmadığınız ve ikili günlüğe kaydetmenin etkinleştirildiğine benzer hatalar alabilirsiniz (daha az güvenli log_bin_trust_function_creators
değişkeni kullanmak isteyebilirsiniz)..
innodb_buffer_pool_size
Bu parametre hakkında daha fazla bilgi edinmek için MySQL belgelerini gözden geçirin. Aşağıdaki tabloda yer alan Fiziksel Bellek Boyutu (GB), MySQL için Azure Veritabanı esnek sunucunuzda gigabayt (GB) cinsinden kullanılabilir rastgele erişim belleğini (RAM) temsil eder.
Fiyatlandırma Katmanı | sanal çekirdekler | Fiziksel Bellek Boyutu (GiB) | Varsayılan değer (bayt) | En düşük değer (bayt) | Maksimum değer (bayt) |
---|---|---|---|---|---|
Serileştirilebilir (B1s) | 1 | 1 | 134217728 | 33554432 | 268435456 |
Serileştirilebilir (B1ms) | 1 | 2 | 536870912 | 134217728 | 1073741824 |
Serileştirilebilir (B2s) | 2 | 4 | 2147483648 | 134217728 | 2147483648 |
Serileştirilebilir (B2ms) | 2 | 8 | 4294967296 | 134217728 | 5368709120 |
Hızla artırılabilir | 4 | 16 | 12884901888 | 134217728 | 12884901888 |
Hızla artırılabilir | 8 | 32 | 25769803776 | 134217728 | 25769803776 |
Hızla artırılabilir | 12 | 48 | 51539607552 | 134217728 | 51539607552 |
Hızla artırılabilir | 16 | 64 | 2147483648 | 134217728 | 2147483648 |
Hızla artırılabilir | 20 | 80 | 64424509440 | 134217728 | 64424509440 |
Genel Amaçlı | 2 | 8 | 4294967296 | 134217728 | 5368709120 |
Genel Amaçlı | 4 | 16 | 12884901888 | 134217728 | 12884901888 |
Genel Amaçlı | 8 | 32 | 25769803776 | 134217728 | 25769803776 |
Genel Amaçlı | 16 | 64 | 51539607552 | 134217728 | 51539607552 |
Genel Amaçlı | 32 | 128 | 103079215104 | 134217728 | 103079215104 |
Genel Amaçlı | 48 | 192 | 154618822656 | 134217728 | 154618822656 |
Genel Amaçlı | 64 | Kategori 256 | 206158430208 | 134217728 | 206158430208 |
İş Açısından Kritik | 2 | 16 | 12884901888 | 134217728 | 12884901888 |
İş Açısından Kritik | 4 | 32 | 25769803776 | 134217728 | 25769803776 |
İş Açısından Kritik | 8 | 64 | 51539607552 | 134217728 | 51539607552 |
İş Açısından Kritik | 16 | 128 | 103079215104 | 134217728 | 103079215104 |
İş Açısından Kritik | 20 | 160 | 128849018880 | 134217728 | 128849018880 |
İş Açısından Kritik | 32 | Kategori 256 | 206158430208 | 134217728 | 206158430208 |
İş Açısından Kritik | 48 | 384 | 309237645312 | 134217728 | 309237645312 |
İş Açısından Kritik | 64 | 504 | 405874409472 | 134217728 | 405874409472 |
innodb_file_per_table
MySQL, InnoDB tablosunu tablo oluşturma sırasında sağladığınız yapılandırmaya göre farklı tablo boşluklarında depolar. Sistem tablo alanı, InnoDB veri sözlüğü için depolama alanıdır. Tablo başına dosya tablo alanı, tek bir InnoDB tablosunun verilerini ve dizinlerini içerir ve kendi veri dosyasında dosya sisteminde depolanır. Bu davranış sunucu parametresi tarafından innodb_file_per_table
denetlendi. OFF
ayarıinnodb_file_per_table
, InnoDB'nin sistem tablo alanında tablolar oluşturmasına neden olur. Aksi takdirde, InnoDB tablo başına dosya tablo boşluklarında tablolar oluşturur.
MySQL için Azure Veritabanı esnek sunucu, tek bir veri dosyasında en büyük 8 TB'yi destekler. Veritabanınızın boyutu 8 TB'tan büyükse tabloyu innodb_file_per_table tablo alanında oluşturmanız gerekir. 8 TB'tan büyük tek bir tablo boyutunuz varsa bölüm tablosunu kullanmanız gerekir.
innodb_log_file_size
innodb_log_file_size, günlük grubundaki her günlük dosyasının bayt cinsinden boyutudur. Günlük dosyalarının birleşik boyutu (innodb_log_file_size * innodb_log_files_in_group) 512 GB'tan biraz daha az olan en yüksek değeri aşamaz). Daha büyük bir günlük dosyası boyutu performans için daha iyidir, ancak kilitlenme sonrasında kurtarma süresinin yüksek olması bir dezavantajı vardır. Kilitlenme kurtarması durumunda kurtarma süresini dengelemeniz ve yoğun işlemler sırasında aktarım hızını en üst düzeye çıkarmanız gerekir. Bunlar da daha uzun yeniden başlatma sürelerine neden olabilir. esnek MySQL için Azure Veritabanı sunucu için bu değerlerden herhangi birine innodb_log_size yapılandırabilirsiniz: 256 MB, 512 MB, 1 GB veya 2 GB. Parametre statiktir ve yeniden başlatma gerektirir.
Not
Parametre innodb_log_file_size varsayılan değerden değiştirdiyseniz, yeniden başlatma gecikmesini önlemek için "'innodb_buffer_pool_pages_dirty' gibi genel durumu göster" değerinin 30 saniye boyunca 0'da kalıp kalmadiğini denetleyin.
max_connections
değeri max_connection
, sunucunun bellek boyutuna göre belirlenir. Aşağıdaki tabloda yer alan Fiziksel Bellek Boyutu (GB), MySQL için Azure Veritabanı esnek sunucunuzda gigabayt (GB) cinsinden kullanılabilir rastgele erişim belleğini (RAM) temsil eder.
Fiyatlandırma Katmanı | sanal çekirdekler | Fiziksel Bellek Boyutu (GiB) | Varsayılan değer | En düşük değer | En büyük değer |
---|---|---|---|---|---|
Serileştirilebilir (B1s) | 1 | 1 | 85 | 10 | 171 |
Serileştirilebilir (B1ms) | 1 | 2 | 171 | 10 | 341 |
Serileştirilebilir (B2s) | 2 | 4 | 341 | 10 | 683 |
Serileştirilebilir (B2ms) | 2 | 4 | 683 | 10 | Kategori 1365 |
Hızla artırılabilir | 4 | 16 | Kategori 1365 | 10 | 2731 |
Hızla artırılabilir | 8 | 32 | 2731 | 10 | 5461 |
Hızla artırılabilir | 12 | 48 | 4097 | 10 | 8193 |
Hızla artırılabilir | 16 | 64 | 5461 | 10 | 10923 |
Hızla artırılabilir | 20 | 80 | 6827 | 10 | 13653 |
Genel Amaçlı | 2 | 8 | 683 | 10 | Kategori 1365 |
Genel Amaçlı | 4 | 16 | Kategori 1365 | 10 | 2731 |
Genel Amaçlı | 8 | 32 | 2731 | 10 | 5461 |
Genel Amaçlı | 16 | 64 | 5461 | 10 | 10923 |
Genel Amaçlı | 32 | 128 | 10923 | 10 | 21845 |
Genel Amaçlı | 48 | 192 | 16384 | 10 | 32768 |
Genel Amaçlı | 64 | Kategori 256 | 21845 | 10 | 43691 |
İş Açısından Kritik | 2 | 16 | Kategori 1365 | 10 | 2731 |
İş Açısından Kritik | 4 | 32 | 2731 | 10 | 5461 |
İş Açısından Kritik | 8 | 64 | 5461 | 10 | 10923 |
İş Açısından Kritik | 16 | 128 | 10923 | 10 | 21845 |
İş Açısından Kritik | 20 | 160 | 13653 | 10 | 27306 |
İş Açısından Kritik | 32 | Kategori 256 | 21845 | 10 | 43691 |
İş Açısından Kritik | 48 | 384 | 32768 | 10 | 65536 |
İş Açısından Kritik | 64 | 504 | 43008 | 10 | 86016 |
Bağlantılar sınırı aştığında aşağıdaki hatayı alabilirsiniz:
HATA 1040 (08004): Çok fazla bağlantı var
Önemli
En iyi deneyim için, bağlantıları verimli bir şekilde yönetmek için ProxySQL gibi bir bağlantı havuzu oluşturucu kullanmanızı öneririz.
MySQL'e yeni istemci bağlantıları oluşturmak zaman alır ve kurulduktan sonra bu bağlantılar boşta olsa bile veritabanı kaynaklarını kaplar. Çoğu uygulama, bu durumu oluşturan birçok kısa süreli bağlantı istemektedir. Sonuçta gerçek iş yükünüz için daha az kaynak kullanılabilir ve bu da performansın düşmesine neden olur. Boşta kalan bağlantıları azaltan ve mevcut bağlantıları yeniden kullanan bir bağlantı havuzu oluşturucu bunu önlemeye yardımcı olur. ProxySQL'i ayarlama hakkında bilgi edinmek için blog gönderimizi ziyaret edin.
Not
ProxySQL, açık kaynak bir topluluk aracıdır. Microsoft tarafından en iyi çaba temelinde desteklenir. Yetkili rehberlikle üretim desteği almak için ProxySQL Ürün desteğini değerlendirebilir ve bu desteğe ulaşabilirsiniz.
innodb_strict_mode
"Satır boyutu çok büyük (> 8126)" gibi bir hata alırsanız, innodb_strict_mode parametresini KAPALI duruma getirmek isteyebilirsiniz. Satır veri boyutu 8 binden büyükse veriler hata olmadan kesildiğinden, sunucu parametresi innodb_strict_mode sunucu düzeyinde genel olarak değiştirilemez ve bu da olası veri kaybına neden olabilir. Şemayı sayfa boyutu sınırına uyacak şekilde değiştirmenizi öneririz.
Bu parametre kullanılarak init_connect
bir oturum düzeyinde ayarlanabilir. innodb_strict_mode oturum düzeyinde ayarlamak için, listede olmayan ayar parametresine bakın.
Not
Okuma amaçlı çoğaltma sunucunuz varsa, innodb_strict_mode bir kaynak sunucuda oturum düzeyinde KAPALI olarak ayarlanması çoğaltmayı bozar. Okuma amaçlı çoğaltmalarınız varsa parametreyi ON olarak ayarlamanızı öneririz.
time_zone
İlk dağıtımdan sonra, MySQL için Azure Veritabanı esnek sunucu örneği saat dilimi bilgileri için sistem tablolarını içerir, ancak bu tablolar doldurulmaz. Saat dilimi tabloları, MySQL komut satırı veya MySQL Workbench gibi bir araçtan saklı yordamı çağırarak mysql.az_load_timezone
doldurulabilir. Saklı yordamı çağırmak ve genel veya oturum düzeyinde saat dilimlerini ayarlamak için Azure portalı veya Azure CLI makalelerine bakın.
binlog_expire_logs_seconds
MySQL için Azure Veritabanı esnek sunucuda bu parametre, hizmetin ikili günlük dosyasını temizlemeden önce bekleyeceği saniye sayısını belirtir.
İkili günlük, tablo oluşturma işlemleri veya tablo verisinde yapılan değişiklikler gibi veritabanı değişikliklerini açıklayan "olaylar" içerir. Ayrıca, değişiklik yapmış olabilecek deyimlere yönelik olayları da içerir. İkili günlük çoğunlukla iki amaçla kullanılır: çoğaltma ve veri kurtarma işlemleri. Genellikle, tanıtıcı hizmetten, yedeklemeden veya çoğaltma kümesinden serbest olduğunda ikili günlükler temizlenir. Birden çok çoğaltma varsa, ikili günlükler temizlenmeden önce en yavaş çoğaltmanın değişiklikleri okumasını bekler. İkili günlükleri daha uzun süre kalıcı hale getirmek istiyorsanız binlog_expire_logs_seconds parametresini yapılandırabilirsiniz. binlog_expire_logs_seconds varsayılan değer olan 0 olarak ayarlanırsa, ikili günlük tutamacı serbest bırakılır başlamaz temizlenir. binlog_expire_logs_seconds > 0 ise, temizlenmeden önce yapılandırılan saniyelere kadar bekler. esnek MySQL için Azure Veritabanı sunucu için, ikili dosyaların yedeklenmesi ve okuma amaçlı çoğaltma temizlemesi gibi yönetilen özellikler dahili olarak işlenir. Verileri esnek MySQL için Azure Veritabanı sunucudan çoğalttığınızda, çoğaltmanın birincil sunucudaki değişikliklerden okuması için ikili günlüklerin temizlenmesini önlemek için bu parametrenin birincil sunucuda ayarlanması gerekir. binlog_expire_logs_seconds daha yüksek bir değere ayarlarsanız, ikili günlükler yeterince yakında temizlenmez ve depolama faturalamasında artışa neden olabilir.
event_scheduler
MySQL için Azure Veritabanı esnek sunucuda sunucu parametresi, event_schedule
bir zamanlamaya göre çalışan ve özel bir olay zamanlayıcı iş parçacığı tarafından çalıştırılan görevlerin oluşturulmasını, zamanlamasını ve çalıştırılmasını yönetir. event_scheduler
Parametresi ON olarak ayarlandığında, olay zamanlayıcı iş parçacığı SHOW PROCESSLIST çıkışında bir daemon işlemi olarak listelenir. Aşağıdaki SQL söz dizimini kullanarak olaylar oluşturabilir ve zamanlayabilirsiniz:
CREATE EVENT <event name>
ON SCHEDULE EVERY _ MINUTE / HOUR / DAY
STARTS TIMESTAMP / CURRENT_TIMESTAMP
ENDS TIMESTAMP / CURRENT_TIMESTAMP + INTERVAL 1 MINUTE / HOUR / DAY
COMMENT ‘<comment>’
DO
<your statement>;
Not
Olay oluşturma hakkında daha fazla bilgi için buradaki MySQL Olay Zamanlayıcı belgelerine bakın:
event_scheduler sunucu parametresini yapılandırma
Aşağıdaki senaryoda, esnek MySQL için Azure Veritabanı sunucuda parametresini event_scheduler
kullanmanın bir yolu gösterilmektedir. Senaryoyu göstermek için basit bir tablo olan aşağıdaki örneği göz önünde bulundurun:
mysql> describe tab1;
+-----------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------+-------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| CreatedAt | timestamp | YES | | NULL | |
| CreatedBy | varchar(16) | YES | | NULL | |
+-----------+-------------+------+-----+---------+----------------+
3 rows in set (0.23 sec)
Esnek MySQL için Azure Veritabanı sunucuda sunucu parametresini yapılandırmak event_scheduler
için aşağıdaki adımları gerçekleştirin:
Azure portalında, MySQL için Azure Veritabanı esnek sunucu örneğinize gidin ve Ayarlar'ın altında Sunucu parametreleri'ni seçin.
Sunucu parametreleri dikey penceresinde, DEĞER açılan listesinde öğesini arayın
event_scheduler
, ON'ı ve ardından Kaydet'i seçin.Not
Dinamik sunucu parametresi yapılandırma değişikliği yeniden başlatma olmadan dağıtılır.
Ardından bir olay oluşturmak için MySQL için Azure Veritabanı esnek sunucu örneğine bağlanın ve aşağıdaki SQL komutunu çalıştırın:
CREATE EVENT test_event_01 ON SCHEDULE EVERY 1 MINUTE STARTS CURRENT_TIMESTAMP ENDS CURRENT_TIMESTAMP + INTERVAL 1 HOUR COMMENT ‘Inserting record into the table tab1 with current timestamp’ DO INSERT INTO tab1(id,createdAt,createdBy) VALUES('',NOW(),CURRENT_USER());
Olay Zamanlayıcı Ayrıntılarını görüntülemek için aşağıdaki SQL deyimini çalıştırın:
SHOW EVENTS;
Aşağıdaki çıkış görüntülenir:
mysql> show events; +-----+---------------+-------------+-----------+-----------+------------+----------------+----------------+---------------------+---------------------+---------+------------+----------------------+----------------------+--------------------+ | Db | Name | Definer | Time zone | Type | Execute at | Interval value | Interval field | Starts | Ends | Status | Originator | character_set_client | collation_connection | Database Collation | +-----+---------------+-------------+-----------+-----------+------------+----------------+----------------+---------------------+---------------------+---------+------------+----------------------+----------------------+--------------------+ | db1 | test_event_01 | azureuser@% | SYSTEM | RECURRING | NULL | 1 | MINUTE | 2023-04-05 14:47:04 | 2023-04-05 15:47:04 | ENABLED | 3221153808 | latin1 | latin1_swedish_ci | latin1_swedish_ci | +-----+---------------+-------------+-----------+-----------+------------+----------------+----------------+---------------------+---------------------+---------+------------+----------------------+----------------------+--------------------+ 1 row in set (0.23 sec)
Birkaç dakika sonra, yapılandırdığınız parametreye göre dakikada bir eklenen satırları görüntülemeye başlamak için tablodaki
event_scheduler
satırları sorgula:mysql> select * from tab1; +----+---------------------+-------------+ | id | CreatedAt | CreatedBy | +----+---------------------+-------------+ | 1 | 2023-04-05 14:47:04 | azureuser@% | | 2 | 2023-04-05 14:48:04 | azureuser@% | | 3 | 2023-04-05 14:49:04 | azureuser@% | | 4 | 2023-04-05 14:50:04 | azureuser@% | +----+---------------------+-------------+ 4 rows in set (0.23 sec)
Bir saat sonra, tabloya eklenen değerlerin tam sonucunu bir saat
event_scheduler
boyunca görüntülemek için tabloda select deyimini çalıştırın.mysql> select * from tab1; +----+---------------------+-------------+ | id | CreatedAt | CreatedBy | +----+---------------------+-------------+ | 1 | 2023-04-05 14:47:04 | azureuser@% | | 2 | 2023-04-05 14:48:04 | azureuser@% | | 3 | 2023-04-05 14:49:04 | azureuser@% | | 4 | 2023-04-05 14:50:04 | azureuser@% | | 5 | 2023-04-05 14:51:04 | azureuser@% | | 6 | 2023-04-05 14:52:04 | azureuser@% | ..< 50 lines trimmed to compact output >.. | 56 | 2023-04-05 15:42:04 | azureuser@% | | 57 | 2023-04-05 15:43:04 | azureuser@% | | 58 | 2023-04-05 15:44:04 | azureuser@% | | 59 | 2023-04-05 15:45:04 | azureuser@% | | 60 | 2023-04-05 15:46:04 | azureuser@% | | 61 | 2023-04-05 15:47:04 | azureuser@% | +----+---------------------+-------------+ 61 rows in set (0.23 sec)
Diğer senaryolar
Belirli senaryonuzun gereksinimlerine göre bir olay ayarlayabilirsiniz. SQL deyimlerini farklı zaman aralıklarında çalışacak şekilde zamanlamanın birkaç benzer örneği aşağıda verilmiştir.
Şimdi bir SQL deyimi çalıştırın ve sonu olmayan günde bir kez tekrarlayın
CREATE EVENT <event name>
ON SCHEDULE
EVERY 1 DAY
STARTS (TIMESTAMP(CURRENT_DATE) + INTERVAL 1 DAY + INTERVAL 1 HOUR)
COMMENT 'Comment'
DO
<your statement>;
Bitişi olmayan saatte bir SQL deyimi çalıştırma
CREATE EVENT <event name>
ON SCHEDULE
EVERY 1 HOUR
COMMENT 'Comment'
DO
<your statement>;
Her gün sonu olmayan bir SQL deyimi çalıştırma
CREATE EVENT <event name>
ON SCHEDULE
EVERY 1 DAY
STARTS str_to_date( date_format(now(), '%Y%m%d 0200'), '%Y%m%d %H%i' ) + INTERVAL 1 DAY
COMMENT 'Comment'
DO
<your statement>;
Sınırlamalar
Yüksek Kullanılabilirlik yapılandırılmış sunucular için yük devretme gerçekleştiğinde sunucu parametresi 'KAPALI' olarak ayarlanmış olabilir event_scheduler
. Bu durumda, yük devretme tamamlandığında değerini 'ON' olarak ayarlamak için parametresini yapılandırın.
Değiştirilemez sunucu parametreleri
Azure portalındaki sunucu parametresi dikey penceresi hem değiştirilebilir hem de değiştirilemeyen sunucu parametrelerini gösterir. Değiştirilemez sunucu parametreleri gri renktedir. Oturum düzeyinde değiştirilemez bir sunucu parametresi yapılandırmak istiyorsanız parametresini kullanarak init_connect
bağlantı düzeyinde ayarlamak için Azure portalı veya Azure CLI makalesine bakın.