MySQL için Azure Veritabanı - Esnek Sunucuda ana sürüm yükseltmesi
ŞUNLAR IÇIN GEÇERLIDIR: MySQL için Azure Veritabanı - Esnek Sunucu
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 ana sürümünüzü esnek MySQL için Azure Veritabanı sunucuda 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 sunucu için ana sürüm yükseltmesi başlatırken, 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 neden olabilir. Lütfen 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 MySQL Yükseltme denetleyicisi aracını 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çin , öğesini kullanarakXA ROLLBACK '{xid}'
her işlemi geri alın ve {xid} yerine işlem kimliğini 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ı seri hale getirilebilir 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 geçerli MySQL için Azure Veritabanı esnek sunucu 5.7 sunucunuzdan kaldırın/seçimini kaldırın/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. İlk yükseltme adımları sırasında bu seçim istenir.
Sistem, işlem katmanınızı Otomatik olarak Burstable SKU'sundan seçilen Genel Amaçlı SKU'ya yükselterek ana sürüm yükseltmesini destekler.
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ı otomatik olarak önceki SeriLeştirilebilir SKU'ya 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
Otomatik olarak Hızla Artırılabilir SKU'ya geri döndürmeyi seçerseniz, sistem varsayılan olarak B2S SKU'ya geri 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ı uygulayın.
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 geçerli MySQL için Azure Veritabanı esnek sunucu 5.7 sunucunuzdan kaldırın/seçimini kaldırın/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üğmesine tıklayın.
Önemli
Veritabanı şemanızın MySQL 8.0 ile uyumluluğunu denetlemek için 'Doğrula' özelliğini kullandığınızda, şemanın tamamını doğru bir şekilde değerlendirmek için tabloları kilitlemeyi içerdiğini unutmayın. Bu işlem sorgu zaman aşımlarına neden olabilir. Bu nedenle, yoğun iş saatlerinde veya veritabanınızda yoğun trafik olduğunda doğrulama yapılmaması önerilir. Doğrulama için düşük etkinlik dönemi seçmek, işlemleriniz üzerindeki etkiyi en aza indirmenize yardımcı olabilir.
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ü (örneğin, 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ı uygulayın.
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 okuma amaçlı bir çoğaltmada MySQL için Azure Veritabanı esnek sunucu 5.7 sunucusunun 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 MySQL için Azure Veritabanı esnek sunucu 5.7 okuma amaçlı çoğaltma sunucunuzu 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 doğrulayın ve dağıtım hatasını önlemek için Azure Portalınızdaki Sunucu Parametreleri Dikey Penceresini kullanarak geçerli MySQL için Azure Veritabanı esnek sunucu 5.7 sunucunuzdan kaldırın/seçimini kaldırın/seçimini kaldırın.
Yükseltme bölümünde, MySQL için Azure Veritabanı esnek bir sunucu 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 okuma amaçlı çoğaltma sunucunuzun 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
Okuma amaçlı çoğaltma sunucularını kullanarak en düşük kapalı kalma süresiyle MySQL için Azure Veritabanı esnek sunucu 5.7 sunucusunun MySQL 8.0'a ana sürüm yükseltmesini gerçekleştirmek için aşağıdaki adımları uygulayın.
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 ****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ılamaz duruma gelir, 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ükseltmesi sonrasında 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ırlaması nedeniyle hızla artırılabilir 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 çözümlerden biri Genel Amaçlı'ya yükseltme yapmak veya SKU'yu İş Açısından Kritik, yükseltmeyi gerçekleştirmek ve ardından Yeniden SeriLeştirilebilir SKU'ya geçmektir.
Daha yüksek bir SKU'ya yükseltmenin fiyatlandırmada bir değişiklik içerebileceğini ve dağıtımınız için maliyetlerin artmasına neden olabileceğini lütfen unutmayın. Ancak yükseltme işleminin uzun sürmesi beklenmediği için eklenen maliyetler önemli olmamalıdır.
Sonraki adımlar
- MySQL için Azure Veritabanı esnek sunucu örneğiniz için zamanlanmış bakımı yapılandırma hakkında daha fazla bilgi edinin.
- MySQL sürüm 8.0'daki yenilikler hakkında bilgi edinin.