Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
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.
Bu makalede, MySQL için Azure Veritabanı Esnek Sunucusu'nda MySQL ana sürümünüzü yerinde nasıl yükseltebileceğiniz açıklanır. Bu özellik, müşterilerin herhangi bir veri hareketi veya uygulama bağlantı dizesi değişiklik yapma gereksinimi olmadan MySQL 5.7 sunucularını MySQL 8.0'a yerinde yükseltmelerini sağlar.
Önemli
- Kapalı kalma süresi, veritabanı örneğinin boyutuna ve içerdiği tablo sayısına göre değişir.
- Rest API veya SDK aracılığıyla MySQL için Azure Veritabanı Esnek Sunucusu için ana sürüm yükseltmesi başlatırken lütfen aynı istekte hizmetin diğer özelliklerini değiştirmekten kaçının. Eşzamanlı değişikliklere izin verilmez ve istenmeyen sonuçlara veya istek hatasına yol açabilir. Yükseltme tamamlandıktan sonra ayrı işlemlerde özellik değişiklikleri yapın.
- Bazı iş yükleri 5.7'den 8.0'a yükselttikten sonra gelişmiş performans göstermeyebilir. Yükseltmeyi üretim ortamında uygulamadan önce önce bir çoğaltma sunucusu (test sunucusu olarak) oluşturarak, ardından bunu tek başına bir sunucuya yükselterek ve ardından test sunucusunda iş yükünü çalıştırarak iş yükünüzün performansını değerlendirmenizi öneririz.
- Ana MySQL sürümünü yükseltme işlemi geri alınamaz. Doğrulama, sunucunun kaldırılmış veya kullanım dışı herhangi bir özellikle yapılandırıldığını belirlerse dağıtımınız başarısız olabilir. Sunucuda gerekli yapılandırma değişikliklerini yapabilir ve yükseltmeyi yeniden deneyebilirsiniz.
Önkoşullar
- MySQL sürüm 5.7 ile Okuma Çoğaltmaları, çoğaltmanın farklı MySQL sürümleri arasında uyumlu olması için Birincil Sunucudan önce yükseltilmelidir. MySQL sürümleri arasında Çoğaltma Uyumluluğu hakkında daha fazla bilgi edinin.
- Üretim sunucularınızı yükseltmeden önce, Azure portalındaki yerleşik Doğrulama özelliğimiz sayesinde artık daha kolay ve daha verimli hale geliyor. Bu araç, veritabanı şemanızın MySQL 8.0 ile uyumluluğunu önceden denetler ve olası sorunları vurgular. Bu kullanışlı seçeneği sunarken, veritabanı şeması uyumluluğunuzu test etmek ve yeni MySQL sürümünde kullanım dışı bırakılanözelliklerle uygulama uyumluluğunu doğrulamak için gerekli regresyon testini yapmak için resmi Oracle / kullanmanızı kesinlikle öneririz.
Not
Şema uyumluluğunu denetlemek için Oracle'ın resmi aracını kullandığınızda saklı yordamlarda beklenmeyen belirteçleri gösteren bazı uyarılarla karşılaşabilirsiniz, örneğin:
mysql.az_replication_change_master - at line 3,4255: unexpected token 'REPLICATION'
mysql.az_add_action_history - PROCEDURE uses obsolete NO_AUTO_CREATE_USER sql_mode
Bu uyarıları güvenle yoksayabilirsiniz. Bunlar, Azure MySQL özelliklerini desteklemek için kullanılan mysql. ön ekli yerleşik saklı yordamlara başvurur. Bu uyarılar veritabanınızın işlevselliğini etkilemez.
- Üretim sunucunuzda ana sürüm yükseltmesi gerçekleştirmeden önce isteğe bağlı yedeklemeyi tetikleyin. Bu yükseltme, alınan tam isteğe bağlı yedeklemeden sürüm 5.7'ye geri almak için kullanılabilir.
- Ana sürüm yükseltmesine devam etmeden önce, devam eden XA işlemleri yükseltme işleminin başarısız olmasına neden olabileceğinden lütfen veritabanında etkin veya bekleyen XA işlemi olmadığından emin olun. Bu sorunu önlemek için ilk olarak komutunu çalıştırarak
XA RECOVER;
"hazırlanmış" durumdaki XA işlemlerini denetleyin. Tanımlanan tüm işlemler içinXA ROLLBACK '{xid}'
kullanın; her işlemi geri almak için işlem kimliği yerine {xid} yazın. İşlem tutarlılığını korumak ve yükseltme hatası riskini azaltmak için yükseltmeyi başlatmadan önce tüm XA işlemlerinin işlendiğinden veya geri alındığından emin olun.
Burstable SKU sunucuları için Azure portalını kullanarak MySQL 5.7'den MySQL 8.0'a planlı bir ana sürüm yükseltmesi gerçekleştirme
MySQL için Azure Veritabanı Seri Hale Getirilebilir SKU işlem katmanı için ana sürüm yükseltmesi gerçekleştirmek için özel bir iş akışı gerekir. Bunun nedeni, ana sürüm yükseltmelerinin yoğun kaynak kullanımına sahip olması ve önemli CPU ve bellek istemesidir. Kredi tabanlı olan serileştirilebilir SKU örnekleri bu gereksinimler altında zorlanabilir ve yükseltme işleminin başarısız olmasına neden olabilir. Bu nedenle, bir Ani Artırılabilir SKU'yu yükseltirken sistem, yükseltme için yeterli kaynağın kullanılabilir olduğundan emin olmak için önce işlem katmanını Genel Amaçlı SKU'ya yükseltiyor.
Azure portalını kullanarak MySQL için Azure Veritabanı Seri Hale Getirilebilir SKU işlem katmanı için ana sürüm yükseltmesi gerçekleştirmek için şu adımları izleyin:
Azure portalında mevcut MySQL için Azure Veritabanı Esnek Sunucu 5.7 sunucunuzu seçin.
Önemli
Doğrudan üretimi yükseltmek yerine önce sunucunun geri yüklenen bir kopyasında yükseltme gerçekleştirmenizi öneririz. Belirli bir noktaya geri yükleme işleminin nasıl gerçekleştirildiğini görün.
Genel Bakış sayfasındaki araç çubuğunda Yükselt'i seçin.
Önemli
Yükseltmeden önce MySQL 8.0'da kaldırılan özelliklerin listesi için ziyaret bağlantısı. Kullanım dışı sql_mode değerlerini doğrulayın ve dağıtım hatasını önlemek için Azure portalınızdaki Sunucu Parametreleri Dikey Penceresini kullanarak mevcut Azure MySQL Esnek Veritabanı 5.7 sunucunuzdan kaldırın veya seçimini kaldırın. NO_AUTO_CREATE_USER, NO_FIELD_OPTIONS, NO_KEY_OPTIONS ve NO_TABLE_OPTIONS değerlerine sahip sql_mode artık MySQL 8.0'da desteklenmemektedir.
Şema Uyumluluğu Doğrulaması
Yükseltmeye devam etmeden önce, geçerli veritabanı şemanızın MySQL 8.0 ile uyumlu olduğunu doğrulamak için Oracle'ın resmi MySQL Yükseltme denetleyicisi aracını çalıştırın. Bu adım, sorunsuz bir yükseltme işlemi sağlamak için çok önemlidir.
Yükseltme Öncesi Kararı
Yükseltmeye devam etmeden önce, ana sürüm yükseltmesini gerçekleştirmek için yükseltmek istediğiniz işlem katmanını seçmeniz gerekir. Varsayılan olarak, sistem Ani Artırılabilir SKU'dan en temel Genel Amaçlı SKU'ya yükseltilecektir, ancak gerekirse daha yüksek bir işlem katmanına yükseltmeyi tercih edebilirsiniz.
Not
Sunucunuz yükseltme sırasında "Genel Amaçlı" katmanında çalışırken, yalnızca bu süre boyunca kullanılan gerçek "Genel Amaçlı" kaynaklar için ücretlendirilirsiniz.
Yükseltme Sonrası Kararı
Yükseltmeden sonra Genel Amaçlı SKU'yu mu saklayacak yoksa Hızla Artırılabilir SKU'ya mı geri döneceğine karar verin. Bu seçenek, ilk yükseltme adımları sırasında istenir.
Sistem, işlem katmanınızı burstable SKU'sundan seçilen Genel Amaçlı SKU'ya otomatik olarak yükselterek ana sürüm yükseltmesini destekleyecektir.
Ana Sürüm Yükseltme
İşlem katmanı yükseltildikten sonra sistem ana sürüm yükseltme işlemini başlatır. Azure portalı aracılığıyla yükseltme ilerleme durumunu izleyin. Veritabanınızın boyutuna ve etkinliğine bağlı olarak yükseltme işlemi biraz zaman alabilir.
Not
Ana sürüm yükseltmesi başarısız olursa, işlem katmanı önceki Patlamalı SKU'ya otomatik olarak geri dönmez. Bu, müşterilerin işlem katmanı yükseltmesini yeniden gerçekleştirmeye gerek kalmadan ana sürüm yükseltmesine devam etmelerini sağlamaktır.
Otomatik Geri Çevirme
Yükseltme öncesi kararınıza bağlı olarak, sistem Genel Amaçlı SKU'yu korur veya yükseltme tamamlandıktan sonra otomatik olarak SeriLeştirilebilir SKU'ya geri döner.
Not
Eğer otomatik olarak Burstable SKU'ya dönmeyi seçerseniz, sistem varsayılan olarak B2S SKU'ya döner.
Genel Amaçlı ve İş Açısından Kritik SKU sunucuları için Azure portalını kullanarak MySQL 5.7'den MySQL 8.0'a planlı bir ana sürüm yükseltmesi gerçekleştirme
Azure portalını kullanarak MySQL için Azure Veritabanı Esnek Sunucu 5.7 sunucusunun ana sürüm yükseltmesini gerçekleştirmek için aşağıdaki adımları gerçekleştirin.
Azure portalında mevcut MySQL için Azure Veritabanı Esnek Sunucu 5.7 sunucunuzu seçin.
Önemli
Doğrudan üretimi yükseltmek yerine önce sunucunun geri yüklenen bir kopyasında yükseltme gerçekleştirmenizi öneririz. Belirli bir noktaya geri yükleme işleminin nasıl gerçekleştirildiğini görün.
Genel Bakış sayfasındaki araç çubuğunda Yükselt'i seçin.
Önemli
Yükseltmeden önce MySQL 8.0'da kaldırılan özelliklerin listesi için ziyaret bağlantısı. Kullanım dışı sql_mode değerlerini doğrulayın ve dağıtım hatasını önlemek için Azure portalınızdaki Sunucu Parametreleri Dikey Penceresini kullanarak mevcut Azure MySQL Esnek Veritabanı 5.7 sunucunuzdan kaldırın veya seçimini kaldırın. NO_AUTO_CREATE_USER, NO_FIELD_OPTIONS, NO_KEY_OPTIONS ve NO_TABLE_OPTIONS değerlerine sahip sql_mode artık MySQL 8.0'da desteklenmemektedir.
Yükseltme Öncesi Doğrulama Gerçekleştirme
Yükseltmeye devam etmeden önce, Sunucunuzun MySQL 8.0 ile uyumluluğunu denetlemek için Doğrula düğmesini seçin.
Not
Veritabanı şemanızı MySQL 8.0 ile uyumluluk açısından değerlendirmek için 'Doğrula' özelliğini kullanırken lütfen aşağıdaki noktaları göz önünde bulundurun:
- Doğrulama Sırasında Tablo Kilitleme: Doğrulama işlemi, şemanın tamamını doğru bir şekilde incelemek için tabloları kilitlemeyi içerir. Bu, veritabanı yoğun yük altındaysa sorgu zaman aşımlarına neden olabilir.
Öneri: Yoğun iş saatlerinde veya veritabanı yüksek trafiği işlerken doğrulamayı çalıştırmaktan kaçının. Bunun yerine, işlemler üzerindeki etkiyi azaltmak için düşük etkinlik dönemlerinde doğrulamayı zamanlayın.
- Büyük Sonuç Kümelerinden Kaynaklanan Asılı Olma Olasılığı: Bazı durumlarda (özellikle çok fazla sayıda nesne içeren karmaşık veritabanlarında) doğrulama sonucu, çevrimiçi iş akışında işlenemeyecek veya görüntülenemeyecek kadar büyük hale gelebilir. Bu, 'Doğrula' işleminin askıda kalmasına veya süresiz olarak devam etmesine neden olabilir.
Öneri: Bu sorunla karşılaşırsanız, Oracle'ın MySQL Kabuğu'nda bulunan gibi resmi istemci tarafı yükseltme denetleyicisi aracını kullanarak doğrulamayı yerel olarak gerçekleştirmenizi öneririz. Bu yaklaşım, platform tarafı sonuç boyutu sınırlamalarını önler ve daha ayrıntılı ve güvenilir bir doğrulama çıkışı sağlar.
- Çevrimiçi Doğrulama için Önerilen Kullanım Örnekleri: Çevrimiçi 'Doğrula' özelliği basit veya orta derecede karmaşık şemalar için tasarlanmıştır. Binlerce tablo, görünüm, yordam veya diğer şema nesnesine sahip olanlar gibi büyük ölçekli üretim ortamları için uyumluluk denetimini gerçekleştirmek için Oracle'ın istemci tarafı yükseltme denetleyicisi aracını kullanmanızı kesinlikle öneririz. Bu, tam şemanın kapsamlı bir şekilde analiz edilmesini sağlar ve sonuç boyutu veya doğrulama zaman aşımlarıyla ilgili olası sorunları önler.
Yükseltme kenar çubuğunda, Yükseltme için MySQL sürümü metin kutusunda, yükseltmek istediğiniz ana MySQL sürümünü (yani 8.0) doğrulayın.
Birincil sunucunuzu yükseltebilmeniz için önce ilişkili okuma amaçlı çoğaltma sunucularını yükseltmiş olmanız gerekir. Bu işlem tamamlanana kadar Yükseltme devre dışı bırakılır.
Birincil sunucuda, tüm çoğaltma sunucularının yükseltildiğini doğrulamak için onay iletisini seçin ve ardından Yükselt'i seçin.
Okuma amaçlı çoğaltma ve tek başına sunucularda Yükseltme varsayılan olarak etkindir.
Azure CLI kullanarak MySQL 5.7'den MySQL 8.0'a planlı bir ana sürüm yükseltmesi gerçekleştirme
Azure CLI kullanarak MySQL için Azure Veritabanı Esnek Sunucu 5.7 sunucusunun ana sürüm yükseltmesini gerçekleştirmek için aşağıdaki adımları gerçekleştirin.
Yükseltme komutlarını çalıştırmak için Windows için Azure CLI'yi yükleyin veya Azure Cloud Shell'de Azure CLI'yi kullanın.
Bu yükseltme için Azure CLI'nın 2.40.0 veya sonraki bir sürümü gerekir. Azure Cloud Shell kullanıyorsanız en son sürüm zaten yüklüdür. Yüklü sürümü ve bağımlı kitaplıkları bulmak için az version komutunu çalıştırın. En son sürüme yükseltmek için az upgrade komutunu çalıştırın.
Oturum açtığınızda az mysql server upgrade komutunu çalıştırın.
az mysql flexible-server upgrade --name {your mysql server name} --resource-group {your resource group} --subscription {your subscription id} --version 8
Onay isteminin altına onaylamak için y yazın veya yükseltme işlemini durdurmak için n yazın ve enter tuşuna basın.
Azure portalını kullanarak okuma amaçlı çoğaltma sunucusunda MySQL 5.7'den MySQL 8.0'a ana sürüm yükseltmesi gerçekleştirme
Azure portalını kullanarak bir MySQL için Azure Veritabanı Esnek Sunucusu 5.7 sunucusunun okuma amaçlı bir çoğaltmada MySQL 8.0'a ana sürüm yükseltmesini gerçekleştirmek için aşağıdaki adımları gerçekleştirin.
Azure portalında mevcut Azure Veritabanı MySQL Esnek Sunucu 5.7 okuma replikası sunucusunu seçin.
Genel Bakış sayfasındaki araç çubuğunda Yükselt'i seçin.
Önemli
Yükseltmeden önce MySQL 8.0'da kaldırılan özelliklerin listesi için ziyaret bağlantısı. Kullanım dışı sql_mode değerlerini kontrol edin ve Azure portalındaki Sunucu Parametreleri sayfasını kullanarak dağıtım hatalarını önlemek için geçerli Azure Veritabanı for MySQL 5.7 esnek sunucunuzdan kaldırın/seçimini kaldırın.
Yükseltme bölümünde, MySQL için Azure Veritabanı Esnek Sunucusu 5.7 okuma amaçlı çoğaltma sunucusunu MySQL 8.0'a yükseltmek için Yükselt'i seçin.
Yükseltmenin başarılı olduğunu onaylayan bir bildirim görüntülenir.
Genel Bakış sayfasında, MySQL için Azure Veritabanı Esnek Sunucu'nuzun okuma replikası sunucusunun 8.0 sürümünü çalıştırdığını onaylayın.
Şimdi birincil sunucunuza gidin ve ana sürüm yükseltmesi gerçekleştirin.
Okuma amaçlı çoğaltmaları kullanarak MySQL 5.7'den MySQL 8.0'a en düşük kapalı kalma süresi ana sürüm yükseltmesi gerçekleştirme
MySQL için Azure Veritabanı Esnek Sunucu 5.7 sunucusunu okuma çoğaltma sunucularını kullanarak minimum kesinti süresi ile MySQL 8.0'a ana sürüm yükseltmesi gerçekleştirmek için aşağıdaki adımları izleyin.
Azure portalında mevcut MySQL için Azure Veritabanı Esnek Sunucu 5.7 sunucunuzu seçin.
Birincil sunucunuzdan okuma amaçlı bir çoğaltma oluşturun.
Çoğaltma sunucusunun 8.0 sürümünü çalıştırdığını onayladıktan sonra uygulamanızın birincil sunucunuza bağlanmasını durdurun.
Tüm verilerin eşitlenmesi ve birincilde yeni işlem yapılmaması için çoğaltmanın birincile yetişip yakalanmadığını denetlemek için çoğaltma durumunu denetleyin.
Çoğaltma durumunu görüntülemek için çoğaltma sunucusundaki çoğaltma durumunu göster komutuyla onaylayın.
SHOW SLAVE STATUS\G
Slave_IO_Running ve Slave_SQL_Running durumu evet ise ve Seconds_Behind_Master değeri 0 ise, çoğaltma iyi çalışır. Seconds_Behind_Master çoğaltmanın ne kadar geç olduğunu gösterir. Değer 0 değilse, çoğaltma güncelleştirmeleri işlemeye devam ediyor demektir. Seconds_Behind_Master değerinin 0 olduğunu onayladıktan sonra çoğaltmayı durdurmak güvenlidir.
Çoğaltmayı durdurarak okuma amaçlı çoğaltmanızı birincil çoğaltmaya yükseltin.
Yükseltilen birincil öğeye yazmaya başlamak için Sunucu Parametresi read_only 0 (KAPALI) olarak ayarlayın.
Uygulamanızı sunucu 8.0 çalıştıran yeni birincil (eski çoğaltma) üzerine gelin. Her sunucunun benzersiz bir bağlantı dizesi vardır. Uygulamanızı kaynak yerine (eski) çoğaltmaya işaret eden şekilde güncelleştirin.
Not
Bu senaryo yalnızca 4 ile 7 arasında bir işlem sırasında kapalı kalma süresine neden olur.
Sık sorulan sorular
Bu, sunucunun kapalı kalma süresine neden olur ve kapalıysa ne kadar sürer?
Yükseltmeler sırasında en düşük kapalı kalma süresine sahip olmak için, Okuma amaçlı çoğaltmaları kullanarak MySQL 5.7'den MySQL 8.0'a en düşük kapalı kalma süresi ana sürüm yükseltmesi gerçekleştirme bölümünde belirtilen adımları izleyin. Yükseltme işlemi sırasında sunucu kullanılamıyor, bu nedenle bu işlemi planlı bakım pencereniz sırasında gerçekleştirmenizi öneririz. Tahmini kapalı kalma süresi veritabanı boyutuna, sağlanan depolama boyutuna (sağlanan IOP'ler) ve veritabanındaki tablo sayısına bağlıdır. Yükseltme süresi, sunucudaki tablo sayısıyla doğrudan orantılıdır. Sunucu ortamınızın kapalı kalma süresini tahmin etmek için, önce sunucunun geri yüklenen kopyasında yükseltme gerçekleştirmenizi öneririz.
Yükseltmeden sonra yedeklemelerime ne olur?
Geri yükleme için kullanıldığında ana sürüm yükseltmeden önce alınan tüm yedeklemeler (otomatik/isteğe bağlı) her zaman eski sürüme (5.7) sahip bir sunucuya geri yüklenir. Ana sürüm yükseltmesinin ardından alınan tüm yedeklemeler (otomatik/isteğe bağlı) yükseltilmiş sürüme (8.0) sahip sunucuya geri yüklenir. Kolay bir geri alma için ana sürüm yükseltmesini gerçekleştirmeden önce isteğe bağlı yedekleme almanız kesinlikle önerilir.
Şu anda Burstable SKU kullanıyorum, Microsoft gelecekte bu SKU için ana sürüm yükseltmeyi desteklemeyi planlıyor mu?
Bu SKU'nun performans sınırlamaları nedeniyle değişken kapasiteli SKU, ana sürüm yükseltmesini destekleyemiyor.
MySQL için Azure Veritabanı Esnek Sunucu örneğinizde ana sürüm yükseltmesi yapmanız gerekiyorsa ve şu anda "Burstable SKU" kullanıyorsanız, geçici bir çözüm olarak ilk önce Genel Amaçlı veya İş Açısından Kritik SKU'ya yükseltip, yükseltmeyi gerçekleştirdikten sonra tekrar "Burstable SKU"'ya dönmek olabilir.
Daha yüksek bir SKU'ya yükseltme, fiyatlandırmada bir değişiklik içerebilir ve dağıtımınız için maliyetlerin artmasına neden olabilir. Ancak yükseltme işleminin uzun sürmesi beklenmediğinden, eklenen maliyetler önemli olmamalıdır.