Aracılığıyla paylaş


MySQL için Azure Veritabanı - Esnek Sunucuda sunucu parametreleri

Bu makalede, MySQL için Azure Veritabanı - Esnek Sunucuda sunucu parametrelerini yapılandırmaya yönelik önemli noktalar ve yönergeler sağlanır.

Not

Bu makalede, Microsoft'un artık kullanmadığı bağımlı terimine başvurular yer alır. Terim yazılımdan kaldırıldığında, bu makaleden kaldıracağız.

Sunucu parametreleri nedir?

MySQL altyapısı, altyapı davranışını yapılandırmak ve ayarlamak için kullanabileceğiniz birçok sunucu parametresi (değişkenler olarak da adlandırılır) sağlar. Bazı parametreler çalışma zamanı sırasında dinamik olarak ayarlanabilir. Diğerleri statiktir ve siz ayarladıktan sonra sunucunun yeniden başlatılmasını gerektirir.

MySQL için Azure Veritabanı - Esnek Sunucu'da, Azure portalını kullanarak MySQL için Azure Veritabanı - Esnek Sunucuda sunucu parametrelerini yapılandırma ve 'de sunucu parametrelerini yapılandırma'yı kullanarak çeşitli MySQL sunucu parametrelerinin değerini değiştirebilirsiniz MySQL için Azure Veritabanı - İş yükünüzün gereksinimlerini karşılamak için Azure CLI kullanan Esnek Sunucu.

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ğerlerle yapılandırılır. Azure portalındaki Sunucu parametreleri bölmesinde hem değiştirilebilir hem de değiştirilemeyen parametreler gösterilir. Değiştirilemeyen sunucu parametreleri kullanılamıyor.

Desteklenen sunucu parametreleri listesi sürekli büyüyor. Sunucu parametrelerinin tam listesini düzenli aralıklarla görüntülemek ve değerleri yapılandırmak için Azure portalını kullanabilirsiniz.

Portalı kullanarak statik sunucu parametresini değiştirirseniz değişikliklerin etkili olması için sunucuyu yeniden başlatmanız gerekir. Otomasyon betiklerini (Azure Resource Manager şablonları, Terraform veya Azure CLI gibi araçlar aracılığıyla) kullanıyorsanız, oluşturma deneyiminin bir parçası olarak yapılandırmayı değiştirseniz bile, betiğinizde ayarların geçerli olması için hizmeti yeniden başlatmaya yönelik bir sağlama olmalıdır.

Ortamınız için değiştirilemez bir sunucu parametresini değiştirmek istiyorsanız, topluluk geri bildirimi aracılığıyla bir fikir gönderin veya geri bildirimin zaten mevcut olup olmadığını oylayın (öncelik belirlememize yardımcı olabilir).

Aşağıdaki bölümlerde, yaygın olarak güncelleştirilen sunucu parametrelerinin sınırları açıklanmaktadır. Sınırları sunucunun işlem katmanı ve boyutu (sanal çekirdekler) belirler.

lower_case_table_names

MySQL sürüm 5.7 için varsayılan değeri lower_case_table_names MySQL için Azure Veritabanı - Esnek Sunucu'dadır1. Desteklenen değeri 2olarak değiştirmek mümkün olsa da, geri dönüşe 2 1 izin verilmez. Varsayılan değeri değiştirmeyle ilgili yardım için bir destek bileti oluşturun.

MySQL sürüm 8.0+ için yalnızca sunucuyu başlatırken yapılandırabilirsinizlower_case_table_names. Daha fazla bilgi edinin. lower_case_table_names Sunucu başlatıldıktan sonra ayarı değiştirmek yasaktır.

MySQL sürüm 8.0 için desteklenen değerler MySQL için Azure Veritabanı - Esnek Sunucu'dadır 1 2. Varsayılan değer şudur: 1. Sunucu oluşturma sırasında varsayılan değeri değiştirmeyle ilgili yardım için bir destek bileti oluşturun.

innodb_tmpdir

yeniden derleyen çevrimiçi ALTER TABLE işlemler sırasında oluşturulan geçici sıralama dosyalarının dizinini tanımlamak için MySQL için Azure Veritabanı - Esnek Sunucu'da innodb_tmpdir parametresini kullanırsınız.

innodb_tmpdir için varsayılan değer /mnt/temp değeridir. Bu konum geçici depolama alanına (SSD) karşılık gelir ve her sunucu işlem boyutuyla birlikte gibibaytlar (GiB) cinsinden kullanılabilir. Bu konum, büyük miktarda alan gerektirmeyen işlemler için idealdir.

Daha fazla alana ihtiyacınız varsa olarak ayarlayabilirsiniz innodb_tmpdir /app/work/tmpdir. Bu ayar, MySQL için Azure Veritabanı Esnek Sunucunuzdaki kullanılabilir depolama kapasitesini kullanır. Bu ayar, daha fazla geçici depolama gerektiren daha büyük işlemler için yararlı olabilir.

Kullanmanın /app/work/tmpdir varsayılan geçici depolama (SSD) /mnt/temp değerine kıyasla daha yavaş performansa neden olduğunu unutmayın. İşlemlerin belirli gereksinimlerine göre seçim yapın.

için innodb_tmpdir sağlanan bilgiler, aşağıdaki durumlarda innodb_temp_tablespaces_dir, tmpdir ve slave_load_tmpdir parametreleri için geçerlidir:

  • Varsayılan değer /mnt/temp ortaktır.
  • Alternatif dizin /app/work/tmpdir , belirli işletimsel gereksinimlere göre performans açısından bir denge oluşturarak daha yüksek geçici depolamayı yapılandırmak için kullanılabilir.

log_bin_trust_function_creators

MySQL için Azure Veritabanı - Esnek Sunucu'da ikili günlükler her zaman etkindir (yani olarak log_bin ayarlanırON). log_bin_trust_function_creators parametresi esnek sunucularda varsayılan olarak olarak ayarlanırON.

İkili günlük biçimi her zaman ROWolur ve sunucu bağlantıları her zaman 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 olarak ONkalmasına güvenle izin vekleyebilirsinizlog_bin_trust_function_creators.

olarak ayarlanırsa log_bin_trust_function_creators OFF ve tetikleyici oluşturmaya çalışırsanız şuna benzer hatalar alabilirsiniz: "SÜPER ayrıcalığınız yok ve ikili günlük etkinleştirildi (daha az güvenli log_bin_trust_function_creators değişkeni kullanmak isteyebilirsiniz)."

innodb_buffer_pool_size

Parametresi hakkında innodb_buffer_pool_size bilgi edinmek için MySQL belgelerini gözden geçirin.

Aşağıdaki tabloda yer alan fiziksel bellek boyutu, MySQL için Azure Veritabanı Esnek Sunucunuzda gigabayt (GB) cinsinden kullanılabilir rastgele erişim belleğini (RAM) temsil eder.

İşlem boyutu Sanal çekirdek Fiziksel bellek boyutu (GB) Varsayılan değer (bayt) En düşük değer (bayt) Maksimum değer (bayt)
Seri hale getirme
Standard_B1s 1 1 134217728 33554432 268435456
Standard_B1ms 1 2 536870912 134217728 1073741824
Standard_B2s 2 4 2147483648 134217728 2147483648
Standard_B2ms 2 8 4294967296 134217728 5368709120
Standard_B4ms 4 16 12884901888 134217728 12884901888
Standard_B8ms 8 32 25769803776 134217728 25769803776
Standard_B12ms 12 48 51539607552 134217728 32212254720
Standard_B16ms 16 64 2147483648 134217728 51539607552
Standard_B20ms 20 80 64424509440 134217728 64424509440
Genel Amaçlı
Standard_D2ads_v5 2 8 4294967296 134217728 5368709120
Standard_D2ds_v4 2 8 4294967296 134217728 5368709120
Standard_D4ads_v5 4 16 12884901888 134217728 12884901888
Standard_D4ds_v4 4 16 12884901888 134217728 12884901888
Standard_D8ads_v5 8 32 25769803776 134217728 25769803776
Standard_D8ds_v4 8 32 25769803776 134217728 25769803776
Standard_D16ads_v5 16 64 51539607552 134217728 51539607552
Standard_D16ds_v4 16 64 51539607552 134217728 51539607552
Standard_D32ads_v5 32 128 103079215104 134217728 103079215104
Standard_D32ds_v4 32 128 103079215104 134217728 103079215104
Standard_D48ads_v5 48 192 154618822656 134217728 154618822656
Standard_D48ds_v4 48 192 154618822656 134217728 154618822656
Standard_D64ads_v5 64 Kategori 256 206158430208 134217728 206158430208
Standard_D64ds_v4 64 Kategori 256 206158430208 134217728 206158430208
İş Açısından Kritik
Standard_E2ds_v4 2 16 12884901888 134217728 12884901888
Standard_E2ads_v5, Standard_E2ds_v5 2 16 12884901888 134217728 12884901888
Standard_E4ds_v4 4 32 25769803776 134217728 25769803776
Standard_E4ads_v5, Standard_E4ds_v5 4 32 25769803776 134217728 25769803776
Standard_E8ds_v4 8 64 51539607552 134217728 51539607552
Standard_E8ads_v5, Standard_E8ds_v5 8 64 51539607552 134217728 51539607552
Standard_E16ds_v4 16 128 103079215104 134217728 103079215104
Standard_E16ads_v5, Standard_E16ds_v5 16 128 103079215104 134217728 103079215104
Standard_E20ds_v4 20 160 128849018880 134217728 128849018880
Standard_E20ads_v5, Standard_E20ds_v5 20 160 128849018880 134217728 128849018880
Standard_E32ds_v4 32 Kategori 256 206158430208 134217728 206158430208
Standard_E32ads_v5, Standard_E32ds_v5 32 Kategori 256 206158430208 134217728 206158430208
Standard_E48ds_v4 48 384 309237645312 134217728 309237645312
Standard_E48ads_v5, Standard_E48ds_v5 48 384 309237645312 134217728 309237645312
Standard_E64ds_v4 64 504 405874409472 134217728 405874409472
Standard_E64ads_v5, Standard_E64ds_v5 64 512 412316860416 134217728 412316860416
Standard_E80ids_v4 80 504 405874409472 134217728 405874409472
Standard_E96ds_v5 96 672 541165879296 134217728 541165879296

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. innodb_file_per_table sunucusu parametresi bu davranışı denetler.

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 fazla 8 terabayt (TB) destekler. Veritabanınızın boyutu 8 TB'tan büyükse tabloyu tablespace içinde innodb_file_per_table 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 değeri, bir günlük grubundaki her günlük dosyasının boyutudur (bayt cinsinden). 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 bunun dezavantajı kilitlenmeden sonraki kurtarma süresinin yüksek olmasıdır. Nadir kilitlenme olayı için kurtarma süresini dengelemeniz ve yoğun işlemler sırasında aktarım hızını en üst düzeye çıkarmanız gerekir. Daha büyük bir günlük dosyası boyutu da yeniden başlatma sürelerinin daha uzun olmasına neden olabilir.

MySQL için Azure Veritabanı - Esnek Sunucu için 256 megabayt (MB), 512 MB, 1 GB veya 2 GB olarak yapılandırabilirsinizinnodb_log_size. Parametre statiktir ve yeniden başlatma gerektirir.

Not

Parametresini innodb_log_file_size varsayılan değerden değiştirdiyseniz, yeniden başlatma gecikmesini önlemek için değerinin show global status like 'innodb_buffer_pool_pages_dirty' 30 saniye boyunca 0 kalıp kalmadiğini denetleyin.

max_connections

Sunucunun bellek boyutu değerini max_connectionsbelirler. Aşağıdaki tabloda yer alan fiziksel bellek boyutu, MySQL için Azure Veritabanı Esnek Sunucunuzdaki kullanılabilir RAM'i gigabayt cinsinden temsil eder.

İşlem boyutu Sanal çekirdek Fiziksel bellek boyutu (GB) Default value En düşük değer En yüksek değer
Seri hale getirme
Standard_B1s 1 1 85 10 171
Standard_B1ms 1 2 171 10 341
Standard_B2s 2 4 341 10 683
Standard_B2ms 2 4 683 10 Kategori 1365
Standard_B4ms 4 16 Kategori 1365 10 2731
Standard_B8ms 8 32 2731 10 5461
Standard_B12ms 12 48 4097 10 8193
Standard_B16ms 16 64 5461 10 10923
Standard_B20ms 20 80 6827 10 13653
Genel Amaçlı
Standard_D2ads_v5 2 8 683 10 Kategori 1365
Standard_D2ds_v4 2 8 683 10 Kategori 1365
Standard_D4ads_v5 4 16 Kategori 1365 10 2731
Standard_D4ds_v4 4 16 Kategori 1365 10 2731
Standard_D8ads_v5 8 32 2731 10 5461
Standard_D8ds_v4 8 32 2731 10 5461
Standard_D16ads_v5 16 64 5461 10 10923
Standard_D16ds_v4 16 64 5461 10 10923
Standard_D32ads_v5 32 128 10923 10 21845
Standard_D32ds_v4 32 128 10923 10 21845
Standard_D48ads_v5 48 192 16384 10 32768
Standard_D48ds_v4 48 192 16384 10 32768
Standard_D64ads_v5 64 Kategori 256 21845 10 43691
Standard_D64ds_v4 64 Kategori 256 21845 10 43691
İş Açısından Kritik
Standard_E2ds_v4 2 16 Kategori 1365 10 2731
Standard_E2ads_v5, Standard_E2ds_v5 2 16 Kategori 1365 10 2731
Standard_E4ds_v4 4 32 2731 10 5461
Standard_E4ads_v5, Standard_E4ds_v5 4 32 2731 10 5461
Standard_E8ds_v4 8 64 5461 10 10923
Standard_E8ads_v5, Standard_E8ds_v5 8 64 5461 10 10923
Standard_E16ds_v4 16 128 10923 10 21845
Standard_E16ads_v5, Standard_E16ds_v5 16 128 10923 10 21845
Standard_E20ds_v4 20 160 13653 10 27306
Standard_E20ads_v5, Standard_E20ds_v5 20 160 13653 10 27306
Standard_E32ds_v4 32 Kategori 256 21845 10 43691
Standard_E32ads_v5, Standard_E32ds_v5 32 Kategori 256 21845 10 43691
Standard_E48ds_v4 48 384 32768 10 65536
Standard_E48ads_v5, Standard_E48ds_v5 48 384 32768 10 65536
Standard_E64ds_v4 64 504 43008 10 86016
Standard_E64ads_v5, Standard_E64ds_v5 64 512 43691 10 87383
Standard_E80ids_v4 80 504 43008 10 86016
Standard_E96ds_v5 96 672 Kategori 50000 10 100000

Bağlantılar sınırı aştığında şu hatayı alabilirsiniz: "HATA 1040 (08004): Çok fazla bağlantı var."

MySQL'e yeni istemci bağlantıları oluşturmak zaman alır. Bu bağlantıları kurduktan sonra, boşta olsalar bile veritabanı kaynaklarını kaplarlar. Çoğu uygulama, bu durumu oluşturan birçok kısa süreli bağlantı istemektedir. Sonuç, gerçek iş yükünüz için daha az kaynak kullanılabilir olduğundan 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 bu sorunu önlemenize yardımcı olur. 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. ProxySQL'i ayarlama hakkında bilgi edinmek için bu blog gönderisine bakın.

Not

ProxySQL bir açık kaynak topluluk aracıdır. Microsoft bunu en iyi çaba temelinde destekler. Yetkili yönergelerle üretim desteği almak için ProxySQL ürün desteğine başvurun.

innodb_strict_mode

"Satır boyutu çok büyük (> 8126)" gibi bir hata alırsanız, sunucu parametresini innodb_strict_mode kapatmak isteyebilirsiniz. Satır veri boyutu 8K'dan büyükse veriler hata olmadan kesildiğinden, bu parametre sunucu düzeyinde genel olarak değiştirilemez. Bu kesme işlemi olası veri kaybına neden olabilir. Şemayı sayfa boyutu sınırına uyacak şekilde değiştirmenizi öneririz.

kullanarak bu parametreyi oturum düzeyinde init_connectayarlayabilirsiniz. Daha fazla bilgi için bkz . Değiştirilemez sunucu parametrelerini ayarlama.

Not

Okuma amaçlı bir çoğaltma sunucunuz varsa, bir kaynak sunucuda oturum düzeyinde olarak ayarlanması innodb_strict_mode OFF çoğaltmayı bozar. Okuma amaçlı çoğaltmalarınız varsa parametresini olarak ayarlamanızı ON öneririz.

time_zone

İlk dağıtımdan sonra MySQL için Azure Veritabanı - Esnek Sunucu örneği saat dilimi bilgileri için sistem tabloları içerir, ancak bu tablolar doldurulmaz. MySQL komut satırı veya MySQL Workbench gibi bir araçtan saklı yordamı çağırarak mysql.az_load_timezone saat dilimi tablolarını doldurabilirsiniz. Ayrıca saklı yordamı çağırabilir ve Azure portalını veya Azure CLI'yı kullanarak genel veya oturum düzeyinde saat dilimlerini ayarlayabilirsiniz.

binlog_expire_logs_seconds

MySQL için Azure Veritabanı - Esnek Sunucu'da binlog_expire_logs_seconds parametresi, hizmetin ikili günlük dosyasını silmeden ö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. İkili günlük ayrıca, değişiklik yapmış olabilecek deyimlerin olaylarını da içerir. İkili günlük esas olarak iki amaçla kullanılır: çoğaltma ve veri kurtarma işlemleri.

Genellikle, tanıtıcı hizmetten, yedeklemeden veya çoğaltma kümesinden çıkar çıkmaz ikili günlükler silinir. Birden çok çoğaltma varsa, ikili günlükler silinmeden ö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 parametresini binlog_expire_logs_seconds yapılandırabilirsiniz. varsayılan değerine 0ayarlanırsabinlog_expire_logs_seconds, tanıtıcı serbest bırakılır silinmez ikili günlük silinir. değeri binlog_expire_logs_seconds değerinden 0büyükse, ikili günlük, yapılandırılan saniye sayısından sonra silinir.

MySQL için Azure Veritabanı - Esnek Sunucu, ikili dosyaların yedek ve okuma amaçlı çoğaltma silinmesi gibi yönetilen özellikleri dahili olarak işler. verileri MySQL için Azure Veritabanı - Esnek Sunucudan çoğalttığınızda, çoğaltmanın birincil sunucudaki değişikliklerden okuması için ikili günlüklerin silinmesini önlemek için bu parametrenin birincil sunucuda ayarlanması gerekir. Daha yüksek bir değere ayarlarsanız binlog_expire_logs_seconds ikili günlükler yeterince yakında silinmez. Bu gecikme, depolama faturalamasında artışa neden olabilir.

event_scheduler

MySQL için Azure Veritabanı - Esnek Sunucu'da event_scheduler sunucu parametresi olayları oluşturmayı, zamanlamayı ve çalıştırmayı yönetir. Yani parametresi, özel bir MySQL Olay Zamanlayıcı iş parçacığı tarafından zamanlamaya göre çalışan görevleri yönetir. event_scheduler parametresi olarak ayarlandığındaON, Event Scheduler iş parçacığı çıkışında SHOW PROCESSLISTbir daemon işlemi olarak listelenir.

MySQL sürüm 5.7 sunucuları için, yedekleme başlatıldığında sunucu parametresi event_scheduler otomatik olarak 'KAPALI' olarak kapatılır ve yedekleme başarıyla tamamlandıktan sonra sunucu parametresi event_scheduler 'AÇILDI' olarak geri döner. MySQL için Azure Veritabanı - Esnek Sunucu için MySQL sürüm 8.0'da, yedeklemeler sırasında event_scheduler etkilenmez. Daha sorunsuz işlemler sağlamak için, ana sürüm yükseltmesi kullanarak MySQL 5.7 sunucularınızı sürüm 8.0'a yükseltmeniz önerilir.

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>;

Olay oluşturma hakkında daha fazla bilgi için MySQL başvuru kılavuzundaki Olay Zamanlayıcı hakkında aşağıdaki belgelere bakın:

event_scheduler sunucusu parametresini yapılandırma

Aşağıdaki senaryo, MySQL için Azure Veritabanı - Esnek Sunucu'da parametresini event_scheduler kullanmanın bir yolunu göstermektedir.

Senaryoyu göstermek için aşağıdaki basit tablo örneğini 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) |
| ``` |
| To configure the `event_scheduler` server parameter in Azure Database for MySQL - Flexible Server, perform the following steps: |

1. In the Azure portal, go to your Azure Database for MySQL - Flexible Server instance. Under **Settings**, select **Server parameters**.
1. On the **Server parameters** pane, search for `event_scheduler`. In the **VALUE** dropdown list, select **ON**, and then select **Save**.

    > [!NOTE]
    > Deployment of the dynamic configuration change to the server parameter doesn't require a restart.

1. To create an event, connect to the Azure Database for MySQL - Flexible Server instance and run the following SQL command:
    ```sql

    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());

    ```
1. To view the Event Scheduler details, run the following SQL statement:
    ```sql

    SHOW EVENTS;

    ```
    The following output appears:
    ```sql

    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) |
    | ``` |

1. After a few minutes, query the rows from the table to begin viewing the rows inserted every minute according to the `event_scheduler` parameter that you configured:

    ```azurecli
    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) |
    | ``` |
| 1. After an hour, run a `select` statement on the table to view the complete result of the values inserted into table every minute for an hour (as `event_scheduler` is configured in this case): |
    ```azurecli

    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) |
    | ``` |

#### Other scenarios

You can set up an event based on the requirements of your specific scenario. A few examples of scheduling SQL statements to run at various time intervals follow.

To run a SQL statement now and repeat one time per day with no end:

```sql
CREATE EVENT <event name>
ON SCHEDULE
EVERY 1 DAY
STARTS (TIMESTAMP(CURRENT_DATE) + INTERVAL 1 DAY + INTERVAL 1 HOUR)
COMMENT 'Comment'
DO
<your statement>;

Sql deyimini bitiş olmadan saatte bir çalıştırmak için:

CREATE EVENT <event name>
ON SCHEDULE
EVERY 1 HOUR
COMMENT 'Comment'
DO
<your statement>;

Her gün sonu olmayan bir SQL deyimi çalıştırmak için:

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ırmasına sahip sunucular için yük devretme gerçekleştiğinde event_scheduler sunucu parametresi olarak ayarlanmış OFFolabilir. Bu durumda, yük devretme tamamlandığında parametresini değerini ONolarak ayarlayacak şekilde yapılandırın.

Değiştirilemez sunucu parametreleri

Azure portalındaki Sunucu parametreleri bölmesinde hem değiştirilebilir hem de değiştirilemeyen sunucu parametreleri gösterilir. Değiştirilemeyen sunucu parametreleri kullanılamıyor. Azure portalında veya Azure CLI'da kullanarak init_connect oturum düzeyinde değiştirilemez bir sunucu parametresi yapılandırabilirsiniz.