Uygulama geçişi

Tamamlandı

Veritabanınızı şirket içinden Azure'a geçirdikten sonra, mySQL'e yeni konumunda erişebilmeleri için mevcut uygulamalarınızı güncelleştirmeniz gerekir.

Özgün şirket içi sunucunuz ve veritabanınız kullanıcılarla ilişkili ayrıcalıkları, yapabilecekleri işlemleri ve bu işlemleri gerçekleştirdikleri nesneleri tanımlayan roller içerir. MySQL için Azure Veritabanı, şirket içinde çalışan PostgreSQL ile aynı kimlik doğrulama ve yetkilendirme mekanizmalarını kullanır.

Bu ünitede, yeni geçirilen MySQL için Azure Veritabanı bağlanmak için uygulamalarınızda yapmanız gereken güncelleştirmeleri keşfedeceksiniz.

Kullanıcıları el ile oluşturma

Özgün şirket içi sunucunuz ve veritabanınız kullanıcıları, gerçekleştirdikleri işlemleri ve bu işlemleri yaptıkları nesneleri içerir. MySQL için Azure Veritabanı, şirket içinde çalışan MySQL ile aynı kimlik doğrulama ve yetkilendirme mekanizmalarını kullanır.

Bir MySQL veritabanını Azure Veritabanı Geçiş Hizmeti kullanarak MySQL için Azure Veritabanı aktardığınızda, kullanıcılar kopyalanır. Yönetici ve hedef veritabanındaki tabloların kullanıcıları için gerekli kullanıcı hesaplarını el ile yeniden oluşturmanız gerekir. Bu görevleri gerçekleştirmek için SQL dilini veya MySQL Workbench gibi bir yardımcı programı kullanırsınız. CREATE USER komutunu çalıştırın. Kullanıcıya gerekli ayrıcalıkları atamak için komutunu kullanırsınız GRANT . Örneğin:

CREATE USER 'myuseraccount'@'%' IDENTIFIED BY 'mY!P@ss0rd';
GRANT ALL PRIVILEGES ON DATABASE [Database Name].* TO myuseraccount;
FLUSH PRIVILEGES;

Şirket içi veritabanındaki mevcut izinleri görüntülemek için aşağıdaki SQL deyimini çalıştırın:

USE [Database Name];

SHOW GRANTS FOR 'myuseraccount'@'%';;

Uygulamaları yeniden yapılandırma

Bir uygulamayı MySQL için Azure Veritabanı bağlanacak şekilde yeniden yapılandırmak basit bir işlemdir. Ancak, uygulamaları geçirmek için bir strateji geliştirmeniz çok önemlidir.

MySQL uygulamalarını yeniden yapılandırırken dikkat edilmesi gerekenler

Kurumsal bir ortamda, aynı MySQL veritabanlarında çalışan birçok uygulama olabilir. Bu uygulamaları çalıştıran çok sayıda kullanıcı olabilir. Mevcut sistemden MySQL için Azure Veritabanı geçiş yaptığınızda sistemlerinizin çalışmaya devam edeceğinden, kullanıcıların işlerini yapmaya devam ettiğinden ve iş açısından kritik işlemlerin çalışır durumda kaldığından emin olmak istiyorsunuz. Modül 1, Ders 2, Geçişle ilgili dikkat edilmesi gerekenler, sorunların birçoğu genel olarak ele alınmıştı.

MySQL veritabanını Azure'a geçirirken dikkate alınması gereken bazı ayrıntılar vardır:

  • Çevrimdışı geçiş gerçekleştiriyorsanız, eski veritabanı hala kullanılıyorsa özgün MySQL veritabanındaki veriler ve Azure'da çalıştırılan yeni veritabanları hızla ayrışmaya başlayabilir. Çevrimdışı geçiş, bir sistemi kısa bir süre tamamen çalışma dışı bırakır ve sonra yeniden başlamadan önce tüm uygulamaları yeni sisteme geçirirseniz uygundur. İş açısından kritik bir sistem için bu yaklaşım mümkün olmayabilir. Bir Azure sanal makinesinde çalışan MySQL'e geçiş gerçekleştiriyorsanız, şirket içi sisteminiz ile Azure'da çalışan sistem arasında MySQL çoğaltmasını yapılandırabilirsiniz. Yerel MySQL çoğaltması yalnızca bir yönde çalışır, ancak MySQL sunucuları arasında çift yönlü çoğaltmayı destekleyen üçüncü taraf çözümler kullanılabilir. Bu çözümler MySQL için Azure Veritabanı ile çalışmaz.
  • Çevrimiçi geçiş gerçekleştiriyorsanız, MySQL için Azure Veritabanı hizmeti şirket içi veritabanından Azure'da çalışan veritabanına çoğaltmayı ayarlar. İlk veri aktarımından sonra çoğaltma, şirket içi veritabanında yapılan tüm değişikliklerin Azure'daki veritabanına kopyalanmasını sağlar, ancak tersi yönde kopyalanmaz.

Her iki durumda da, yanlışlıkla üzerine yazma yoluyla canlı verileri kaybetmediğinizden emin olmanız gerekir. Örneğin, çevrimiçi senaryoda, MySQL için Azure Veritabanı çalıştıran veritabanına bağlı bir uygulama, değişikliklerinin şirket içi veritabanını kullanan bir uygulama tarafından körü körüne üzerine yazılabilir. Bu nedenle, aşağıdaki yaklaşımları göz önünde bulundurmanız gerekir:

  • Uygulamaları iş yükü türlerine göre geçirin. Yalnızca okuma için verilere erişen bir uygulama, MySQL için Azure Veritabanı'da çalışan veritabanına güvenli bir şekilde taşınabilir ve şirket içi veritabanını kullanan uygulamalar tarafından yapılan tüm değişiklikleri görür. Salt okunur uygulamalar tam olarak veriye ihtiyaç duymazsa, ters stratejiyi de benimseyebilirsiniz.
  • Kullanıcıları iş yükü türlerine göre geçirin. Bu strateji öncekine benzer, ancak yalnızca rapor oluşturan kullanıcılarınız olabilirken diğerleri verileri değiştirir. Aynı uygulamanın kullanıcının gereksinimlerine göre uygun veritabanına bağlanacak şekilde yapılandırılmasını sağlayabilirsiniz.
  • Uygulamaları kullandıkları veri kümelerine göre geçirin. Farklı uygulamalar verilerin farklı alt kümelerini kullanıyorsa, bu uygulamaları birbirinden bağımsız olarak geçirebilirsiniz.

Uygulamayı yeniden yapılandırma

Bir uygulamayı yeniden yapılandırmak için yeni veritabanına işaret edersiniz. İyi yazılmış uygulamaların çoğu bağlantı mantığını yalıtmalıdır; bu, kodun değiştirilmesini gerektiren tek bölümü olmalıdır. Çoğu durumda bağlantı bilgileri yapılandırma bilgileri olarak depolanabilir, bu nedenle yalnızca bu bilgileri güncelleştirmeniz yeterlidir.

MySQL için Azure Veritabanı hizmetinizin bağlantı bilgilerini Azure portalında, MySQL için Azure Veritabanı hizmetinizin Bağlan dizeleri sayfasında bulabilirsiniz. Azure, birçok yaygın programlama dili ve çerçevesi için bilgi sağlar.

Image showing the Connection strings page for Azure Database for MySQL item in the Azure portal

Ağ bağlantı noktalarını açma

Bu modülün 1. Dersinde belirtildiği gibi, MySQL için Azure Veritabanı bir güvenlik duvarının arkasında çalışan korumalı bir hizmettir. İstemciler, IP adresleri hizmet tarafından tanınmadığı sürece bağlanamaz. Veritabanlarınıza bağlanması gereken uygulamaları çalıştıran istemciler için IP adreslerini veya adres bloğu aralıklarını eklemeniz gerekir.

Uygulamaları test edin ve doğrulayın

Uygulamaları ve kullanıcıları yeni veritabanına geçirmeden önce her şeyi doğru yapılandırdığınızdan emin olmanız önemlidir.

"Kuru çalışan" uygulamalarla başlayın ve doğru işlevselliğin kullanılabilir olduğundan emin olmak için her rol olarak bağlanın.

Ardından, belirli bir süre boyunca tipik iş yüklerini eşzamanlı olarak çalıştıran kullanıcı sayısını taklit etmek için "bekletme testleri" gerçekleştirin. Sistemi izleyin ve MySQL için Azure Veritabanı hizmetinize yeterli kaynak ayırdığınızdan emin olun.

Artık sistemi kullanıcılara dağıtabilirsiniz. Küçük bir kullanıcı alt kümesinin farkında olmayan bir şekilde sisteme aktarıldığı bir tür "kanarya testi" uygulamak yararlı olabilir. Bu, kullanıcıların yeni veritabanıyla aynı, daha iyi veya daha kötü bir deneyime sahip olup olmadığı konusunda tarafsız bir fikir verir.